国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java判斷null的幾種方式

這篇具有很好參考價值的文章主要介紹了Java判斷null的幾種方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

組內(nèi)code review時,有同學提到字符串判斷空值的寫法,如下兩種,

(1)null在后,

@Test
public?void?testDemo1()?{
  String?str?=?null;
??if?(str?==?null)?{
????System.out.println("null在后");
????return;
??}
}

(2)null在前,

@Test
public void testDemo2() {
  String str = null;
  if (null == str) {
    System.out.println("null在前");
    return;
??}
}

這兩種寫法,有什么區(qū)別?

這兩個測試,都可以執(zhí)行,有種解釋是,null放在前面是為了避免少寫一個"=",因為"null="書寫會報錯,防止筆誤寫成"=null",不會報錯,進而漏掉問題。

null==a是以前C語言的寫法,因為C允許if(a=null)這種判斷,但這個其實是少寫了個"=",所以c開發(fā)的人員為了避免這問題,就出現(xiàn)了null==a的寫法,因為這樣一旦漏寫了個=號,編譯器就會編譯不通過。

但這在Java和c#這種面向?qū)ο蟮恼Z言里面是不需要的,因為少個=號,不管java還是C#都是編譯錯誤。

因此,Java中對null進行判斷放在前后沒有什么區(qū)別,只是為了代碼規(guī)范,為了避免寫代碼時書寫錯誤(建議將null放在前面,并不強制)。

順帶說下,Java中判斷字符串是否為空的四種方法,

方法一:最多人使用的一個方法,直觀,方便,但效率很低,

if(s == null || s.equals(""));

方法二:比較字符串長度,效率高

if(s == null || s.length() == 0);

方法三:Java SE 6.0才開始提供的方法,效率和方法二幾乎相等,但出于兼容性考慮,推薦使用方法二,

if(s == null || s.isEmpty());

方法四:這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多,

if (s == null || s == "");

注意,s == null這個判斷是有必要存在的,如果String類型為null,進行equals(String)或length()等操作會拋出java.lang.NullPointerException。而且s==null的順序必須出現(xiàn)在前面,不然同樣會拋出java.lang.NullPointerException。

如果您認為這篇文章有些幫助,還請不吝點下文章末尾的"點贊"和"在看",或者直接轉發(fā)pyq,

java 判斷為null,java,開發(fā)語言

近期更新的文章:

《MySQL新身份驗證插件caching_sha2_password》

《金融知識小科普 - 北向資金》

《MySQL的MVCC再學習》

《金融知識小科普 - 寬基指數(shù)》

《能從家中看球的球場》

近期的熱文:

《"紅警"游戲開源代碼帶給我們的震撼》

文章分類和索引:

《公眾號1100篇文章分類和索引》文章來源地址http://www.zghlxwxcb.cn/news/detail-644966.html

到了這里,關于Java判斷null的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Java 終止線程的幾種方式

    所謂正常運行結束,就是程序正常運行結束,線程自動結束。 一般run()方法執(zhí)行完,線程就會正常結束,然而,常常有些線程是伺服線程。他們需要長時間的運行,只有在外部某些條件滿足的情況下,才能關閉這些線程。使用一個變量來控制循環(huán),例如:最直接的方法就是設

    2024年02月07日
    瀏覽(22)
  • Java讀取文件的幾種方式

    1. 使用流讀取文件 2. 使用JDK1.7提供的NIO讀取文件(適用于小文件) 3. 使用JDK1.7提供的NIO讀取文件(適用于大文件) 4. 使用JDK1.4提供的NIO讀取文件(適用于超大文件) 5. 使用cmmons-io依賴提供的FileUtils工具類讀取文件 添加依賴: 6. 使用cmmons-io依賴提供的IOtils工具類讀取文件 添加依賴:

    2024年02月16日
    瀏覽(27)
  • Java實現(xiàn)異步的幾種方式

    Java實現(xiàn)異步的幾種方式

    普通線程實現(xiàn)異步,但頻繁創(chuàng)建、銷毀線程比較耗資源,所以一般交給線程池執(zhí)行 結果: Future異步 和普通線程實現(xiàn)異步區(qū)別不大,只是使用Future是要獲取執(zhí)行后的返回值 結果: Spring的@Async異步 使用@Async注解實現(xiàn)異步的前提是需要在啟動類上標注@EnableAsync來開啟異步配置

    2024年02月04日
    瀏覽(38)
  • java 讀取文件的幾種方式

    在 Java 中有幾種常用的方式來讀取文件: 使用 FileInputStream 類以字節(jié)的方式讀取文件。 使用 BufferedReader 在字符輸入流上包裝一個緩沖區(qū),以行為單位讀取文件。 使用 Scanner 類以分隔符為標志讀取文件。 使用 Files 類的 readAllLines 方法一次性讀取所有行。 使用 ObjectInputStream 反

    2024年02月14日
    瀏覽(18)
  • java數(shù)組轉List的幾種方式

    java數(shù)組轉List的幾種方式

    缺點 : 不可新增、刪除元素 。如上圖remove()操作后,會報下圖中的錯誤。 報錯原因 :Arrays.asList(strArr)返回值是java.util.Arrays類中一個私有靜態(tài)內(nèi)部類 java.util.Arrays.Arraylist,并不是我們平時用的java.util.ArrayList()。 java.util.Arrays.ArrayList類具有 set(),get(),contains()等方法,但是不

    2024年02月10日
    瀏覽(88)
  • java stream去重的幾種方式

    這個方法會根據(jù)元素的 hashCode() 和 equals() 方法來判斷是否重復。如果是自定義的類,需要重寫這兩個方法。 示例: 這個方法可以根據(jù)元素的某個屬性或者多個屬性來去重,比如 name 或者 name+address。這個方法會使用 TreeSet 來排序元素,所以不能保持原來的順序。 示例: 這個方

    2024年02月13日
    瀏覽(90)
  • java讀取資源路徑的幾種方式

    java讀取資源路徑的幾種方式

    注意,以上是在Junit測試文件中的結果,工作可以精確到所在模塊,而普通類里打印是只有主目錄沒有模塊的,如下:

    2024年02月15日
    瀏覽(21)
  • Java 中創(chuàng)建線程的幾種方式

    Java 中創(chuàng)建線程的幾種方式

    Java 是一種面向?qū)ο蟮木幊陶Z言,它支持多線程編程。多線程編程是指在一個程序中同時運行多個線程,這些線程可以并行執(zhí)行,以提高程序的效率和性能。Java 提供了多種創(chuàng)建線程的方法,本文將介紹這些方法以及它們的優(yōu)缺點。 Java 中的 Thread 類是一個抽象類,我們可以通

    2024年02月09日
    瀏覽(23)
  • 【Java序列化的幾種方式】

    在Java中,常見的序列化方式有以下幾種: Java原生序列化是一種Java標準庫提供的序列化技術,可以將Java對象轉換為字節(jié)流進行傳輸和存儲??梢酝ㄟ^實現(xiàn)java.io.Serializable接口來實現(xiàn)序列化,但是Java原生序列化存在一些性能和兼容性的問題。 JSON是一種輕量級的數(shù)據(jù)交換格式,

    2024年02月15日
    瀏覽(30)
  • 【Java 干貨教程】Java實現(xiàn)分頁的幾種方式詳解

    【Java 干貨教程】Java實現(xiàn)分頁的幾種方式詳解

    無論是自我學習中,還是在工作中,固然會遇到 與前端搭配實現(xiàn)分頁的功能 ,發(fā)現(xiàn)有幾種方式,特此記錄一下。 這種情況也是有的,(根據(jù)業(yè)務場景且僅僅只能用于 數(shù)據(jù)量少 的情況)。即后端不做任何數(shù)據(jù)的限制,直接把全部數(shù)據(jù)返回給前端,前端通過組件實現(xiàn)分頁,篩選等

    2024年02月02日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包