我试图编译这个当一些奇怪的例外:内部编译器错误ArrayIndexOutOfBoundsException异常:-1 ... generateUnboxingConversion
Byte b = 2;
if (b < new Integer(5)) {
...
}
它是一个有效的检查(拆箱,隐式转换 - 拆箱)?
我试图编译这个当一些奇怪的例外:内部编译器错误ArrayIndexOutOfBoundsException异常:-1 ... generateUnboxingConversion
Byte b = 2;
if (b < new Integer(5)) {
...
}
它是一个有效的检查(拆箱,隐式转换 - 拆箱)?
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)。
如果你得到一个内部编译器错误(ICE),这是Java编译器本身的一个错误,并不一定是你的代码有什么问题。
你的代码片段在最近的OpenJDK上编译得很好。你使用什么Java编译器?
我使用的编译器版本是:1.6.0_16-b01(适用于6.0) 如果我切换到5.0兼容代码,看起来问题消失。
您能编译Stafan Kendall的完整简明示例程序吗? – 2009-12-16 22:13:34
从Stefan的回复看来,它听起来已经被修复成新版本(假设你们都使用“正常”的Sun javac)。如果你不使用Sun的javac,那么我肯定会遵循Tom Hawtin的建议来获得供应商发现的错误。 – ZoogieZork 2009-12-16 22:18:16
给出的例子工作正常。 – Robert 2009-12-16 22:18:58
如果在你的编译器的错误,这里就是你要做的:
通常,在Q & A站点上发布软件产品中的随机错误是没有用的。
好的,我认为问题是代码。谢谢 – Robert 2009-12-16 22:12:08
如果编译器抛出一个异常,这是编译器中的一个错误! – 2009-12-16 22:14:13
我也有这个错误,但没有人(1.6和1.8)的javac没有得到正确的。有两个以上的库(* .jar文件),这是不同版本的重复库。删除重复项已解决comlie错误
您使用的是哪个版本的Java?我只是在1.6.0_17上测试了它,并且它工作正常。 – 2009-12-16 21:59:38