2016-02-05 53 views
1

S2583:如何更改條件ps != null以便它不總是評估爲「假」?魷魚:S2583:更改此條件,以便它不總是評估爲「真」

PreparedStatement ps = null; 
if (ps != null) { 
    try { 
    ps.close(); 
    } catch (SQLException uncatched) { 
    uncatched.printStackTrace(); 
    } 
} 
+0

我真的不確定你在這裏問的是什麼。您將一個變量設置爲空,並檢查它是否爲空。這將始終返回false,因爲在此代碼示例中,沒有辦法讓ps可以是任何空值。 –

+0

對不起,其實我留了幾行,將增加一些價值觀ps然後下面的條件將得到執行我關心的是爲什麼sonarlint是給予這樣的警告在阻止類別 –

+0

然後請更新您的代碼,以反映真實的情況。在目前的狀態下,這個if語句的存在會讓人產生誤解,並且顯示你可能忘記了對'ps'做任何有用的事情,這正是它阻礙的原因。如果它是無效代碼,只需將「if」刪除。 –

回答

2

如果因爲你總是設置(在你省略線)的值,以IT PS不爲空,有條件的說法是完全多餘的,你可以消除的條件。

來自烏賊:S2583描述:

使用不能是什麼,但 FALSE的條件的條件語句具有使代碼塊非功能性的效果。如果 條件無法評估爲TRUE,則條件 語句是完全冗餘的,並且使代碼不易讀。