Rop*_*Rop 5 java eclipse javac eclipse-jdt java-8
我在使用 javac 编译器编译的 maven 项目中遇到了一些与 java8 相关的代码,但在 Eclipse 中给出了编译错误(我认为 ECJ 编译器不同于 javac)。
我在 Eclipse-Luna 中导入它:Import => Maven => Existsing Maven Project
作为快速修复,有没有办法让 Eclipse 在 maven 项目中使用 javac(从而禁用 ECJ 编译器)?
编辑:添加编译器差异的最小 poc 示例。
此代码使用javac 编译,但 List 初始化在 Eclipse 中给出错误:“此表达式的目标类型必须是功能接口”
package test;
import static java.util.Arrays.asList;
import java.util.List;
public class Test01 {
private static final List<MyInterface> items = asList(() -> "123", () -> "456");
public void test01() {
System.out.println("Hello");
}
public interface MyInterface {
String value();
}
}
Run Code Online (Sandbox Code Playgroud)
如果添加类型转换,错误就会消失:
private static final List<MyInterface> items = asList((MyInterface) () -> "123", (MyInterface) () -> "456");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1409 次 |
最近记录: |