26得票3回答
Java方法可以接受不同类型的函数式接口吗?

首先很抱歉标题不够清晰,但是我发现很难用一句话来概括我的问题... 我们软件中有一些代码让我感到不满意。它的作用如下: @FunctionalInterface public interface OneArgCall<T, U, A> { T e...

22得票4回答
Lambda只能与函数式接口一起使用吗?

我做了这个: public class LambdaConflict { public static void main(String args[]){ //* System.out.println(LambdaConflict.get( ...

20得票1回答
功能接口继承的怪异问题

我有一个自定义接口已经使用了一段时间,大致长这样: public interface Function<T, R> { R call(T input); } 我希望使用Java的Function和Guava的Function来改进此接口,同时保持其为Functiona...

19得票3回答
方法引用对于Thread.sleep来说是模棱两可的

我遇到了一个奇怪的问题,使用Thread::sleep方法引用时是多义的,但具有相同签名的方法则不是。package test; public class Test { public static void main(String[] args) { ...

19得票3回答
为什么JDK中所有符合条件的接口都没有使用@FunctionalInterface?

Java 8给我们带来了许多有趣的使用函数式接口的方式,同时也引入了一个新的注解:@FunctionalInterface。它的作用是告诉编译器,如果我们没有遵守函数式接口的规则(只有一个需要覆盖的抽象方法),就会报错。 在java.util.function包中有43个使用这个注解的接口。...

18得票5回答
你是否有Java 8函数接口列表(不包括java.util.function中列出的接口)?

我正在尝试找到一种方法,以获取在Java 8中所有函数式接口的列表。我指的不是这个页面上的列表: https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html 我指的是像Comparato...

17得票1回答
警告:[overloads] 方法m1可能与方法m2产生歧义。

import java.util.function.*; class Test { void test(int foo, Consumer<Integer> bar) { } void test(long foo, Consumer<Long&g...

17得票4回答
为什么要在Java 8中使用@FunctionalInterface注解

如果我们的接口中只有一个抽象方法,那么它默认为函数式接口。但是 @FunctionalInterface 注解带来了什么额外的优势,请问是否有人能够解释一下? 我知道如果我们添加了 @FunctionalAnnotation,那么它将不允许在接口中添加另一个抽象方法,因为这会导致编译错误,但...

17得票2回答
Java lambda 只能抛出表达式式的异常而非语句式的异常

在Java中(目前使用的是Java 8),我可以这样编写代码,所有内容都会编译得很好: Supplier<Long> asd = () -> { throw new RuntimeException(); }; 但是,我无法写出这样的代码: Supplier&...

16得票2回答
为什么这个Java方法调用被认为是模棱两可的?

我遇到了一个奇怪的错误信息,我认为它可能是错误的。请考虑以下代码:public class Overloaded { public interface Supplier { int get(); } public interface Processor...