我正在玩未来的 java 8 版本,也就是 JDK 1.8。
我发现你可以很容易地做到
interface Foo { int method(); }
并像使用它一样
Foo foo = () -> 3;
System.out.println("foo.method(); = " + foo.method());
它只打印 3。
而且我还发现有一个 java.util.function.Function 接口以更通用的方式执行此操作。但是这段代码不会编译
Function times3 = (Integer triple) -> 3 * triple;
Integer twelve = times3.map(4);
看来我首先必须做类似的事情
interface IntIntFunction extends Function<Integer, Integer> {}
IntIntFunction times3 = (Integer triple) -> 3 * triple;
Integer twelve = times3.map(4);
所以我想知道是否有另一种方法可以避免 IntIntFunction 步骤?