-1
這是我的方法是什麼樣子本地變量的原因可能尚未初始化?
public int abc()
{
int x;
if(x > 100)
{
//Say ok
return x;//Causes compiler error
}
//if something more, x = some number
return x;//Causes compiler error
}
我看到在SO答案 - Java: "Local variable may not have been initialized" not intelligent enough?
但是,我仍然不知道爲什麼這個錯誤發生。它是一個編譯器錯誤,而不是一個警告。所以,這個問題肯定比「走一條安全路線」更嚴重。
看看http://stackoverflow.com/questions/415687/why-are-local-variables-not-initialized-in-java – Swapnil
編譯器不夠智能來解決這個問題。它只會檢查讀取變量的所有路徑是否包含初始寫入。 – nhahtdh
好,即使條件是真的,它也不會初始化 –