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 將指向這個物件位...