我很驚訝地看到這種行爲。無名變量聲明 - 爲什麼它有效?
這是一個錯誤還是什麼?
for(Object obj = new Object(), Integer = new Integer(300);
obj.toString().length()>3;
System.out.println("on object's loop")) {
} //causes an infinite loop (not foreach loop, of course)
上面的代碼編譯並運行正常,沒有任何引用new Integer(300)
。爲什麼這樣?
我只想知道爲什麼Integer = new Integer(300);
沒有任何參考是好的。
它聲明瞭一個名爲'Integer'的新類型爲'Object'的變量,其初始值爲「新鮮的'java.lang.Integer',值爲300」。你有什麼問題? – Dirk
重新打開 - 這是一個合理的問題(如果措辭可能不太好)。 (OP可能是明智的改寫標題。) –