我試圖編譯這個當一些奇怪的例外:內部編譯器錯誤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