null值判斷放在前面的原因

2021-10-08 21:27:42 字數 787 閱讀 4744

當**中有if()語句,這時判斷乙個字串是否為null或者長度是否為零。

一般情況有下面的寫法:

// 情況1

if(str.

length()

==0|| str == null)

// 情況2

if(str == null || str.

length()

==0)

從邏輯上講,不執行程式的時候,簡單看這兩種情況的結果是一致的沒問題。

但是執行程式後第一種情況就會報錯。

原因:null是乙個特殊的值,null值沒有長度,也不能呼叫length()方法判斷長度。

在呼叫length()方法的時候就會報錯。

所以在需要對乙個字串或者變數需要進行null值判斷的時候,需要把null值判斷的**放到前面。

一般情況,用乙個字串去和常量的字串進行比較,寫法有以下兩種。

// 情況1

if(str.

equals

("1"))

// 情況2if(

"1".

equals

("str"))

其實和上面相同,如果字串str為null,第一種情況會報錯。

所以在需要考慮到null值判斷情況,把null值放在前面會避免一些錯誤。

歡迎指正!

寫在前面的話

csdn開博前言 這是第一次在csdn寫博,所以將寫作的背景及原因交待一下,恐以後自己寫博的時候離題萬里,當看到這篇文章的時候明白要在這個地方留下些什麼東西。也或許有幸能被別人看到我寫的文字,也能明白我的意圖。寫這些文字的時候,我做為一名開發人員在一家軟體公司實習。能有機會從事和程式設計相關的工作心...

寫在前面的話

屈指算算,從接觸計算機到現在,已經過去了12個年頭,其中做全職程式設計師也有3個年頭了。這些年來我頻繁查閱網際網路上的資源,也免費使用許多優秀的開源 感謝網際網路提供的知識海洋,它讓我們獲取知識的方式變得如此便捷。我曾經註冊過許許多多的網路賬號,如今它們大多我已忘記。現在我想把我的一點想法記錄下來,...

寫在前面的話

再三猶豫,我終於決定了踏上這一次征程,放下顧慮,為我的oi夢奮鬥。作為乙個高中才接觸到oi的弱菜,我要面對的艱險真的很大。首先,對手大多都是從小學或初中就開始接觸oi,經過幾年時間的積累,已經具有很強的實力,我從去年寒假正式接觸演算法到現在也不過1年多點,而今年省選只留給了我2個多月的時間來追趕,我...