Java String中null和 的比較

2021-06-23 02:08:16 字數 658 閱讀 8073

1、   string str1;

string str2=null;

string str3="";

三者的區別:

str1:宣告了乙個string型別的引用,未分配記憶體空間

str2:宣告了乙個空物件,沒有指向string,也沒有分配記憶體空間

str3:定義了乙個字串為空的字串物件的引用,指向了該空string,分配了記憶體空間

2、null與""的區別

看例項public class teststring else

//測試""是否可以呼叫字串的函式

if (emptystring.length() == 0)

if (emptystring.equals(nullstring)) else

//測試null是否可以呼叫函式,測試結果丟擲異常

//if (nullstring.length() == 0) else

//if (nullstring.equals(null))

//else }}

console:

二者是不同的字串

""長度為0

二者不相等

結論:""和null是不同的,二者是完全兩個概念;二者不能作為相等比較;""可以呼叫字串的方法,而null不可以呼叫字串的方法

Java String類中的intern 方法

今天在看一本書的時候注意到乙個string的intern 方法,平常沒用過,只是見過這個方法,也沒去仔細看過這個方法。所以今天看了一下。個人覺得給string類中加入這個方法可能是為了提公升一點點效能,因為從常量池取資料比從堆裡面去資料要快一些。個人感覺 api上的那幾句關於這個方法,其實總結一句就...

java String型別總結

總結昨天遇到的乙個string型別的知識 在記錄題目之前先補充幾個知識點 1.string a abc 與string b new string abc 此時的變數a b兩個物件不相等。a b不成立 但是 a.equal b 成立 並且無論a,b的定義位置如何,都不會影響到該結論 2.string ...

java String 連線問題

string s new string hello 與 string s2 hello 建立的區別 對於string s2 hello 現在棧中建立乙個 string 物件引用的變數 s,然後查詢 hello 字串是否被儲存在常量池中,如果沒有則會將 hello 放入常量池,最後s 將指向這個物件位...