日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中判空

發布時間:2024/7/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中判空 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概述

  java中判等似乎很簡單,==用來判斷對象引用(內存地址)是否相同,equals用來判斷值是否相同。你可以試用String對象輕松區分這一點。

  那么在null判等(也就是判空操作)時呢?

  可以通過如下代碼明白兩個判等的比較:

String name = null;if(null==name){System.out.println("null==name");//通過}if(name==null){System.out.println(name);System.out.println("name==null");//通過 }String list = null;if(!"demo".equals(list)){System.out.println("demo.equals(list)");//通過}//編譯器會在此處提示一個警告:Null pointer access: The variable list can only be null at this locationif(!list.equals("demo")){System.out.println("list.equals(demo)");//不通過}

  1.通過紅色字體代碼證明了String類型在==判等時

   誰放前,誰放后是一樣的。而null==xxxx這樣的寫法,我覺得只是一個規范習慣的方式,保證你不會少寫=,因為你寫null=xxx編譯器肯定會給你報錯。

   那么,除了String類型的對象,其他類型的對象呢?是否在試用==時也是誰放前誰放后沒有區別呢?

  NullEquals e = null;if(e==null){System.out.println("e==null");//通過 }if(null==e){System.out.println("null==e");//通過}

   結果也一樣,證明了null判等這件事上,哪中對象是無所謂的,誰放前放后都可以。

  2.通過藍色字體的代碼證明了使用equals方法時,必須將非空的對象放在前面,null的對象一定不能放在前面。

    所以這里要養成"".equals()方法來判空的操作

二、注意

  這兩個判等操作墨守成規的,你實現某個類,重寫它的equals方法最好也是用來判斷他們的值是否相等,否則其他程序員在使用時容易誤會。

總結:判空時,養成null在前是個好習慣

   判等時,為了避免被判斷對象可能為空,所以把肯定不為空的對象放到前面是個好習慣

注:以上代碼都經過測試

?

轉載于:https://www.cnblogs.com/brolanda/p/4702416.html

總結

以上是生活随笔為你收集整理的java中判空的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。