Java 是否可以使用->;指定函数类型;

Java 是否可以使用->;指定函数类型;,java,Java,我有下面的方法定义,它是有效的 public static String runFunction2(Function<String,String> function, String input) { return function.apply(input); } 上面的代码中有编译错误,Java 8不支持此snytax吗?否。Java不支持该语法。事实上,Java对于函数类型1没有任何特殊的语法 Java函数类型是一种Java接口类型,您需要使用与使用任何接口类型时相同的语

我有下面的方法定义,它是有效的

public static String runFunction2(Function<String,String> function, String input) {
    return function.apply(input);
}

上面的代码中有编译错误,Java 8不支持此snytax吗?

否。Java不支持该语法。事实上,Java对于函数类型1没有任何特殊的语法

Java函数类型是一种Java接口类型,您需要使用与使用任何接口类型时相同的语法

Java只有用于表示函数值的特殊语法(例如lambdas和方法引用)



1-未来的Java版本可能会出现这种情况并非不可能,但我不会屏住呼吸等待…

不,它不会。Lambda看起来有点不同,这可能是最接近您要寻找的语法。忽略您忘记了返回类型的事实,第一个示例和第二个示例之间的区别是什么?一个是Java语法,一个是Scala语法,但它们做的是相同的事情。它们都“显式指定函数类型”。您希望Java示例有什么不同之处?@CharlieArmstrong-我读这个问题时问,是否可以在Java中使用类似Scala的语法。答案是“不行”。@StephenC好吧,我想我现在明白了。只是个奇怪的问题。我的意思是,你也不能在C中使用Scala语法,但我不会就此发帖,我认为这是显而易见的。。。我想不是。
public static String runFunction(String -> String function, String input) {
    return function.apply(input);
}