如何使用 lambda 将以下 JavaScript 示例转换为 Java 8 中的相应代码。我正在尝试获取 Java 8 lambda。
编造的例子。
// js
var isFlag = true,
name = (function () {
if (isFlag) return "A";
else return "B";
})();
console.log(name);
//outputs: A
我曾尝试用 Java 8 编写它,但语法或某些东西是错误的。请参阅下面的代码。
// LambdaTest.java
class LambdaTest {
public LambdaTest() {
boolean isFlag = true;
String name = () -> { //I know this is wrong. It is not an IIFE. But how to write one?
if (isFlag) return "A";
else return "B";
};
System.out.println(name);
}
public static void main(String... args) {
LambdaTest lt = new LambdaTest();
}
}
// outputs:
// LambdaTest.java:4: error: incompatible types: String is not a functional interface
// String name = () -> {
// ^
// 1 error
谢谢。