我正在尝试使用与Eclipse Luna中的编译器相同的JDK编译Java 1.8.0_45源代码(仅限java。**包),并获取MethodHandleImpl.java的第1599行的以下编译错误:
Type mismatch: cannot convert from Class<? extends Object[]> to Class<? extends Object[]>
违规行是:
Class<? extends Object[]> objArrayType = arrayType.asSubclass(Object[].class);
有趣的是,当我使用时,从命令行编译相同的源不会产生错误:
javac -sourcepath ./java -cp rt.jar @classes
其中'classes'包含要编译的类列表,包括java / lang / invoke / MethodHandleImpl.java
我想知道为什么eclipse将此标记为错误?查看类型不匹配的日食错误,'from'和'to'类型是相同的!