java - 为什么这段代码在 Java 7 而不是 Java 8 中有效?

标签 java eclipse java-8

我目前使用的是 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/

相关文章:

android:minSdkVersion 和 android:icon

java - Android : Hello, View > Google map View 教程

java - Java 类中属性的操作

java - 使用 Java 8 Optional - 转换逻辑

java - 仅 1.8 或更高版本才允许在源代码级别使用 Lambda

java - Codility PermMissingElem 给出了奇怪的结果

eclipse - Eclipse上的PyDev Jython交互式控制台无法创建

java - MongoDB Java异步驱动程序replaceOne似乎不起作用

Java堆转储和堆分析后的堆大小不同

java - Cookie 在同一请求/响应中可用