在尝试编译时遇到了一些奇怪的异常:
Byte b = 2;
if (b < new Integer(5)) {
...
}
这是一个有效的检查(取消装箱 - 隐式转换 - 拆箱)吗?
答案 0 :(得分:3)
如果编译器中存在错误,请执行以下操作:
一般来说,在Q&amp; A网站上发布软件产品中的随机错误是没有用的。
答案 1 :(得分:1)
public class test
{
public static void main( String[] args )
{
Byte b = 2;
if( b < new Integer(5) )
{
System.out.println( "Working." );
}
}
}
适合我。 (Java 1.6.0_17)。
答案 2 :(得分:1)
如果您遇到内部编译器错误(ICE),那么它就是Java编译器本身的一个错误,不一定是您的代码有任何问题。
您的代码段在最近的OpenJDK上编译正常。您使用的是什么Java编译器?
答案 3 :(得分:0)
我使用的编译器版本是:1.6.0_16-b01,符合6.0标准 如果我切换到5.0兼容代码,看起来问题就会消失。
答案 4 :(得分:0)
我也有这个错误,但没有人(1.6和1.8)javac没有做对。有两个以上的库(* .jar文件),它们是重复库的不同版本。删除重复项解决了comlie错误