我對Java編程並不陌生,但這個問題對我來說是前所未聞的。 我有這樣的代碼:帶有多個return語句的函數在if子句中的行爲不像預期的那樣?
private static boolean isEarlierThanAndNotReminded(Callback left, Callback right) {
if(right == null) {
return !left.isReminded();
}
else {
return !left.isReminded() && (left.getAlertStart().before(right.getAlertStart()));
}
}
好了,所以問題是,我得到了「其他」條款中有個空指針的報告。 當我調試時,我可以看到right
實際上是空的,但仍然執行陸地第一次在if-子句,然後控制繼續到「else」 - 它得到一個空指針。 我對我在這裏想念的東西毫無頭緒,有什麼建議嗎?
回到你的舊問題並接受一些答案。這會讓更多的人想要用新的問題來幫助你。它還可以幫助他人找到問題的答案! – Blundell