導航:首頁 > 編程語言 > java中空字元串和null

java中空字元串和null

發布時間:2023-09-14 08:04:52

java空字元串與null的區別和判斷字元串是否為空的方法

一、Java空字元串與null的區別:
1、類型
null表示的是一個對象的值,而並不是一個字元專串。例屬如聲明一個對象的引用,String a = null ;
""表示的是一個空字元串,也就是說它的長度為0。例如聲明一個字元串String str = "" ;
2、內存分配
String str = null ; 表示聲明一個字元串對象的引用,但指向為null,也就是說還沒有指向任何的內存空間;
String str = ""; 表示聲明一個字元串類型的引用,其值為""空字元串,這個str引用指向的是空字元串的內存空間;
在java中變數和引用變數是存在棧中(stack),而對象(new產生的)都是存放在堆中(heap):
就如下:
String str = new String("abc") ;
ps:=左邊的是存放在棧中(stack),=右邊是存放在堆中(heap)。
二、判斷字元串是否為空的方法
String str = null;
if(str.equals("") || str= == null){//會拋出異常
System.out.println("成功");
}

Ⅱ Java空字元串與null的區別和判斷字元串是否為空的方法

以下是 Java 判斷字元串是否為空的三種方法.

方法一: 最多人使用的一個方法, 直觀, 方便, 但效率很低.
1:if(s == null || s.equals(""));
方法二: 比較字元串長度, 效率高, 是我知道的最好一個方法.
2:if(s == null || s.length() <= 0);
方法三: Java SE 6.0 才開始提供的方法, 效率和方法二幾乎相等, 但出於兼容性考慮, 推薦使用方法
3:if(s == null || s.isEmpty());

Ⅲ java 空字元串與null區別

做成員變數(欄位/屬性/類變數)時,如果只寫String str;那麼是默認賦值為null的。

做局部變數(方法里的變數)時,如果只寫String str;是不會默認賦值null的,這里僅聲明了一個str變數,在棧內存中有定義,但沒有任何值,null其實也是一種值。此時任何調用str的操作,編譯時就均會報錯,是error,不是異常。null的話,你屏幕輸出(toString方法)的結果為字元串null,但其它調用str的操作,編譯可通過,運行時會空指針異常,此時是異常。

String str = ""; // 這個跟"abc"、"中國",本質上這都一樣,只是空串,長度為0罷了
""是空字元串,但是也是字元串,沒有什麼東西。
而null是空的意思,什麼都沒有,沒有地址。

Ⅳ 你好,Java的空字元串和null有什麼區別

一般情況下 . java中的null就是指的空 . 但是稍微注意的是 空字元串"" 和null是有區別的 "" 代表有字元串, 但是字元串內容為空, 長度為0 null表示對象為空 如果用為null的對象去調用方法, 就會出現空指針異常 所以 在字元串進行內容比較時

Ⅳ null和空字元有區別嗎

null和空字元的區別:

1、NULL:代表聲明了一個空對象,不是一個字元串,可以賦給任何對象。

空字元:代表聲明了一個對象實例,這個對象實例的值是一個長度為0的空字元串。

2、String s=null; 只是定義了一個句柄,即你有了個引用,但是這個引用未指向任何內存空間。

String s=」「; 這個引用已經指向了一塊是空字元串的內存空間,是一個實際的東東了,所以可以對它操作。

String s=」a」和String s=new String(「a」);是有本質上的區別的 :

(1) 前者是在字元串池裡寫入一個字元』a』,然後用s指向它; 後者是在堆上創建一個內容為」a」的字元串對象。

(2) String str=」aaa」; //於棧上分配內存 ;String str=new String(「aaa」); //於堆上分配內存

閱讀全文

與java中空字元串和null相關的資料

熱點內容
游戲環境程序集合 瀏覽:162
qq音樂不能播放 瀏覽:431
15g的文件 瀏覽:456
Win10系統無法在消息文件中為 瀏覽:635
ccd文件 瀏覽:826
win7查看文件啟動路徑 瀏覽:693
溧水114網站電話多少 瀏覽:687
蘋果表盤文件下好了怎麼安裝 瀏覽:692
社工庫都有哪些網站 瀏覽:886
恢復刪除的word文件 瀏覽:822
盧本偉什麼事情在網路上走紅 瀏覽:522
sp文件夾在裡面哪個是卸載程序 瀏覽:70
英雄聯盟新版本611 瀏覽:483
三星安卓70夜間模式 瀏覽:135
linux文件怎麼解除佔用 瀏覽:743
app爆紅怎麼處理 瀏覽:728
為什麼沒有辦法復制文件到光碟 瀏覽:620
小孩學專注力和編程哪個好 瀏覽:43
word中八卦 瀏覽:310
javaee上傳整個文件夾 瀏覽:671

友情鏈接