任何人都可以看到爲什麼我會收到錯誤「此方法必須返回類型卡的結果」,當我明確返回該類型卡的變量「卡」?爲什麼我收到錯誤「此方法必須返回類型...的結果?」?
public Card playCard(int id){
int i = 0;
for (Card element : hand){
if (i <= hand.size())
{
if (element.getID() == id)
{
Card card = hand.get(i);
hand.remove(i);
return card;
}
else
{
i++;
}
}
else
{
throw new NullPointerException("Card does not exist in hand");
}
}
}
提示:您需要從所有可能的執行流程中「返回」。 –
不要自己拋出'NullPointerException'。 – arshajii
@arshajii在檢查之後顯式拋出'NullPointerException',而不是可能執行一些昂貴的處理,然後訪問一個'null',肯定沒問題。顯式或隱式異常應該是相同的(而不是'InvalidArgumentException'或其他),調用者不需要關心實現細節。當然這與這個問題無關,只是評論你的「永不」。 – hyde