我有一個if語句檢查一些值,並遇到一個奇怪的錯誤(不知道!)。我的代碼在語法上不正確,導致它產生了錯誤的結果,但是eclipse在編譯時沒有引發任何錯誤。爲什麼我的以下代碼工作?爲什麼沒有編譯時錯誤?奇怪 - Java
if((this.trackPointList.get(point).getTurnOutId().equals(seg.getSegRef().getTurnOut())) && seg.getSegRef().getKind().equals("arc")); // <---- See here I have semicolon
{
... code to run ...
}
上面的代碼檢查僅第一個條件,而忽略seg.getSegRef().getKind().equals("arc")
,但我想這應該在編譯時提出的一個問題,我說得對不對?我的邏輯工作,一旦我調試它逐行撇取,並發現這個分號。如果有人能解釋,如果它是一個有效的語法,我將不勝感激。
請賜教!
的IntelliJ會給你一個警告馬上。 – irreputable