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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中String值为空字符串与null的判断方法

發(fā)布時間:2024/9/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中String值为空字符串与null的判断方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java空字符串與null的區(qū)別
1、類型
? ? ? ?null表示的是一個對象的值,而不是一個字符串。例如聲明一個對象的引用,String a=null。
? ? ? ?“”表示的是一個空字符串,也就是說它的長度為0。例如聲明一個字符串String s=”“。

2、內(nèi)存分配
? ? ? ?String a=null;表示聲明一個字符串對象的引用,但指向為null,也就是說還沒有指向任何的內(nèi)存空間。
? ? ? ?String s=”“;表示聲明一個字符串類型的引用,其值為“”空字符串,這個s引用指向的是空字符串的內(nèi)存空間;

? ? ? ?在java中變量和引用變量是存在棧中(stack),而對象(new產(chǎn)生的)都是放在堆中(heap):

就如下:
String str =new String(“abc”);
? ? ? ?ps:=左邊的是存放在棧中(stack),=右邊是存放在堆中(heap)。

代碼示例1:

String str1=null;
? ? ? ? String str2="";

? ? ? ? //str1==null ?為true
? ? ? ? ? ? System.out.println("str1和null的==比較結(jié)果為:"+(str1==null));


? ? ? ? //java.lang.NullPointerException ? ?空指針異常
? ? ? ? ? ? System.out.println("str1的isEmpty()方法"+(str1.isEmpty()));

? ? ? ? ? ? //java.lang.NullPointerException ? ?空指針異常
? ? ? ? ? ? System.out.println("str2的length()方法"+(str1.length()));

? ? ? ? //java.lang.NullPointerException ? ?空指針異常
? ? ? ? ? ? System.out.println("str1和null的equals比較結(jié)果為:"+(str1.equals(null)));


? ? ? ? //str2==null ?為false
? ? ? ? ? ? System.out.println("str2和null的==比較結(jié)果為:"+(str2==null));


? ? ? ? //str2=="" ? ? ?為true
? ? ? ? ? ? System.out.println("str2和"+""+"的==比較結(jié)果為:"+(str2==""));

? ? ? ? //str2.isEmpty() ? ?為true
? ? ? ? ? ? System.out.println("str2的isEmpty()方法"+str2.isEmpty());


? ? ? ? //str2.equals(null) ? ? 為true
? ? ? ? System.out.println("str2和null的equals方法比較結(jié)果為:"+(str2.equals(null)));

? ? ? ? //str2.isEmpty() ? ?為true
? ? ? ? System.out.println("str2的isEmpty()方法"+(str2.isEmpty()));

? ? ? ? //str2.length() ? ? 結(jié)果為0
? ? ? ? System.out.println("str2的length()方法"+(str2.length()));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
代碼示例2:

String str1 = new String() ;
? ? ? ? String str2 = null ;
? ? ? ? String str3 = "" ;
? ? ? ? System.out.println(str1==str2); ? ? ? ? ? ? ? ?//內(nèi)存地址的比較,返回false
? ? ? ? System.out.println(str1.equals(str2)); ? ? ? ? //值的比較,返回false
? ? ? ? System.out.println(str2==str3); ? ? ? ? ? ? ? ?//內(nèi)存地址的比較,返回false
? ? ? ? System.out.println(str3.equals(str2)); ? ? ? ? //值的比較,返回false
? ? ? ? System.out.println(str1==str3); ? ? ? ? ? ? ? ?//內(nèi)存地址的比較,返回false
? ? ? ? System.out.println(str1.equals(str3)); ? ? ? ? //值的比較,返回true
1
2
3
4
5
6
7
8
9
通過以上的兩個代碼示例可以得出以下結(jié)論:

? ? ? ?1 ? 如果想調(diào)用一個方法,首先要有一個對象,但是null并不是一個對象,內(nèi)存中都沒有它的空間,所以null是不能夠調(diào)用String中的方法的,isEmpty和length和equals方法都不能夠調(diào)用。
? ? ? ?2 ? 字符串對象與null的值不相等,且內(nèi)存地址也不相等。
? ? ? ?3 ? 空字符串對象與null的值不相等,且內(nèi)存地址也不相等。
? ? ? ?4 ? new String()創(chuàng)建一個字符串對象的默認值為”” (String類型成員變量的初始值為null。

java判斷字符串是都為空的方法
方法1
? ? ? ?最多人使用的一個方法, 直觀, 方便, 但效率很低:
if(s == null || s.equals(“”));
方法2
? ? ? ?比較字符串長度, 效率高, 是我知道的最好一個方法:
if(s == null || s.length() == 0);
方法3
? ? ? ?Java SE 6.0 才開始提供的方法, 效率和方法二幾乎相等, 但出于兼容性考慮, 推薦使用方法二.
if(s == null || s.isEmpty());
方法4
? ? ? ?這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多:
if (s == null || s == “”);
注意:s==null是有必要存在的。

? ? ? ?如果 String 類型為null, 而去進行 equals(String) 或 length() 等操作會拋出java.lang.NullPointerException。

? ? ? ?并且s==null 的順序必須出現(xiàn)在前面,不然同樣會拋出java.lang.NullPointerException。

? ? ? ?如以下java代碼:

String s = null ;
? ? ? ? if(s.equals("") || s == null)
? ? ? ? {
? ? ? ? ? ? System.out.println("success");
? ? ? ? }
1
2
3
4
5
運行結(jié)果如下:Exception in thread “main” java.lang.NullPointerException;會提示空指針異常。


————————————————
版權(quán)聲明:本文為CSDN博主「wilson_m」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wilson_m/article/details/79120347

總結(jié)

以上是生活随笔為你收集整理的java中String值为空字符串与null的判断方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩乱码一区二区三区 | 中文字幕一区二区三区在线播放 | 少妇av在线播放 | 国产精品va无码一区二区 | 久久久久久久久久网站 | 蜜臀av色欲a片无码精品一区 | 日韩美女网站 | av在线资源站 | 国产精品77 | 亚洲情侣在线 | 91无打码| 久久xxxx| 国产黄色免费网站 | 亚洲久久一区二区 | 久久久久国产一区二区 | 亚洲男女 | 国产丝袜网站 | 成人毛片18女人毛片免费 | 红桃视频亚洲 | 欧美激情另类 | 99在线国产| 久久久国产一区二区三区 | 精品无码av在线 | 日韩毛片一区二区三区 | av解说在线观看 | 国产精品毛片久久久久久 | 国产精品视频一区二区三 | 日本免费一二三区 | 日本午夜在线视频 | 亚洲系列在线 | 日本一本二本三区免费 | 精品国产一区二区视频 | 97av视频 | 欧美成人免费在线观看视频 | 日韩av少妇| 国产猛男猛女超爽免费视频 | 中文字幕亚洲一区二区三区五十路 | 亚洲毛片一区二区三区 | 五月天婷婷基地 | 久久久久久在线观看 | 国产精品99久久久久 | 性插视频在线观看 | 日韩三级在线播放 | 男生操女生动漫 | 久久婷婷影视 | 禁漫天堂免费网站 | 国产欧美一区二区精品性色 | 国产伦理一区二区三区 | 男人桶进美女尿囗 | 亚洲九九 | 久久影| 免费在线成人 | 免费毛片一区二区三区久久久 | 久久久久国产精品 | 国产欧美一区二区精品性色 | 亚洲成人av电影在线 | 善良的女邻居在线观看 | 黄瓜视频色版 | 国产精品综合久久久久久 | 毛片综合 | 欧美日韩福利视频 | 天天宗合网 | 亚洲免费观看高清 | 天天天综合网 | 奇米在线 | 中文字幕1区2区3区 www.com黄色片 | 日韩视频一区二区三区在线播放免费观看 | 美国av毛片 | 亚洲欧洲免费 | 亚欧成人精品 | 嫩草视频免费观看 | 老司机亚洲精品 | 女同动漫免费观看高清完整版在线观看 | 欧美日韩a v| 天堂av手机在线 | 国产亚洲自拍一区 | 久久天天东北熟女毛茸茸 | 国产成人无码精品久久二区三 | 亚洲搞av | av无码一区二区三区 | 九九涩 | 一级黄色片网址 | 日韩一区二区精品视频 | 亚洲日批视频 | 在线黄色av | 久久亚洲AV无码专区成人国产 | 日韩少妇精品 | 一级免费观看视频 | 18禁一区二区 | 欧美伊人网 | 国产精品久久久久久久免费大片 | 一级黄色片在线播放 | 国产精品综合久久久久久 | 成人做受视频试看60秒 | 欧美激情一区二区视频 | 精品国产鲁一鲁一区二区张丽 | 青青草www | 娇妻第一次尝试交换的后果 | www.欧美视频 |