我目前使用的是 IDE Eclipse 版本:Neon.2 Release (4.6.2) 和 java 版本 8 Update 131。 在这段代码中,IDE 给出了一个错误——“类型不匹配:无法从字节转换为整数”:
Integer i = (byte) 10;
但是这段代码在IDE Eclipse Version: Indigo Service Release 2和java Version 7中正确执行。java 8th版本中的扩展转换机制有什么本质上的变化,因为我认为它与IDE版本无关?
最佳答案
这绝对不是 JDK 的问题,因为在使用 javac
编译器的命令行上,代码会在 JDK 7 和 JDK 8 中抛出相同的编译器错误 -
error: incompatible types
Integer i = (byte) 10;
^
事实上,我有 Eclipse Mars Release 4.5.0,它给了我与 JDK 7 和 8 相同的编译错误。我没有较新的版本,所以没有测试过这些版本,但如果它没有抛出JDK 7 的任何版本上的编译错误,那么它一定是该 JDK 版本的 eclipse 编译器的错误。
关于java - 为什么这段代码在 Java 7 而不是 Java 8 中有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45100586/