我是JavaScript的新手,并且拥有一些Java的中级知识,经过一些练习,我留下了一个令人费解的问题,是否有一种方法可以在Java中应用匿名函数的概念?它甚至可能吗?我很清楚我可能会因为提出这个问题而受到批评,但无论如何我都在问。 JavaScript匿名函数的示例如下。
var myResult = (function () {
return arguments[0] + arguments[1];
}) (1,2);
alert(myResult);
答案 0 :(得分:0)
使用@FunctionalInterface Java 8
public class Test {
@FunctionalInterface
public interface Func {
public String concat(String a, String b);
}
public static void main(String[] args) {
Func func = (a, b) -> a + b;
System.out.print(func.concat("Hello ", "World!"));
}
}
答案 1 :(得分:0)
匿名内部类就是这样做的。函数不能单独存在于Java中;它必须包装在一个类中。因此,与匿名函数最接近的是匿名内部类。
int myResult = (new Object() {
public int calc(int[] args){
return args[0] + args[1];
} }).calc( new int[]{ 1, 2} );
System.out.println(myResult);
现在可以使用Java 8使用lambda表达式(带有功能接口)轻松完成。