1.雙引號引起的類容均放在常量池。
2.若常量池當中存在該字串常量池。
3.如果兩個字串用+拼接,那麼在編譯期間就處理為拼接的結果。
4.兩個變數拼接,在執行期間處理結果。
5.inter():手動入池。//native方法
如果**中有此引用,直接將物件返回,直接引用。
6.利用反射訪問string類中私有的字段,可修改私有的資訊。
一、字串的查詢方法
//查詢字串中是否包含某個字串
string str = 「helloworld」 ;
system.out.println(str.contains(「world」));
//查詢字串,返回字串開始的下標
str.indexof(「hello」)
注意:只能返回查詢到的第乙個字串下標,如果有多個相同的,只能返回乙個。
string str = 「helloworld」 ;//會判斷開頭和結尾,可以指定開始位置,也可以從尾部開始查詢
system.out.println(str.indexof(「l」)); // 2
system.out.println(str.indexof(「l」,5)); // 8
system.out.println(str.lastindexof(「l」)); // 8
class clc =string.class
field field = clc.getdeclaredfield(value)
//指str2的第2位往後的3個字串。
string str2 = new string(value,1,3)
//指str3下標為2的字串。
char ch =str3 charat(2)
//將字串轉化為字元陣列。
char value = str.tochararray();
//反轉指定位置的字串:
str = reverse(str,s1,e1);
二、字串比較:
//區分大小寫的比較;
public boolean equals(objiect,object):
str1.equals(str2)
//不區分大小寫的比較;
str1.equalsignorecase(str2)
//在string類中compareto()方法是乙個非常重要的方法,該方法返回乙個整型,
該資料會根據大小關係返回三類內容:
相等:返回0.
小於:返回內容小於0.
大於:返回內容大於0。
compareto()是乙個可以區分大小關係的方法,是string方法裡是乙個非常重要的方法。
三、字串替換;
//將字串中某個字元替換成要求的字元
str.replaceall(「l」, 「")//替換所有
str.replacefirst(「l」, "」)//替換遇到的第乙個
注意事項: 由於字串是不可變物件, 替換不修改當前字串, 而是產生乙個新的字串.
四、字串拆分;
//利用字串中指定字元,將字串進行拆分
string result = str.split(" ") ; // 按照空格拆分
特殊拆分,需要加上轉義字元;
string str = 「192.168.1.1」 ;
string result = str.split("\.") ;
for(string s: result)
注意事項:
字元"|","*","+「都得加上轉義字元,前面加上」".
而如果是"",那麼就得寫成"\".
如果乙個字串中有多個分隔符,可以用"|"作為連字元.
多次拆分:開發過程中會經常出現
列印結果:
五、字串擷取;
//對指定字串擷取指定位置的字元
system.out.println(str.substring(5));//擷取從第五位置到末尾的全部
system.out.println(str.substring(0, 5));//擷取從0位置後的5位置的字元,不包括位置5。
六、其他字串方法;
//trim 會去掉字串開頭和結尾的空白字元(空格, 換行, 製表符等)
system.out.println("["+str+"]");
system.out.println("["+str.trim()+"]");
//大小寫轉換
string str = " hello%$%@#
%world 哈哈哈 " ;
system.out.println(str.touppercase());
system.out.println(str.tolowercase());
//判斷字串是否為空
system.out.println(「hello」.isempty());
system.out.println("".isempty());
system.out.println(new string().isempty());
//string類並沒有提供首字母大寫操作,需要自己實現.
public static string fistupper(string str)
if (str.length() > 1)
return str.touppercase();
}public static void main(string args)
//lastindexof:代表從後往前找,遇到的第乙個需要查詢的字元的下標。
startswith:判斷是否按照指定位置開始。
包含下標本身。
//endswith:判斷是否按照某個字元結尾。
//string repalce:將某個位置的字串,替換成指定的字元的函式。
//length:在字串裡面,是屬性,類似於name。
七、stringbuffer和stringbuilder的區別:
1.stringbuffer
synchronized:執行緒安全的
2.string和stringbuffer最大的區別在於:
string的內容無法修改,而stringbuffer的內容可以修改。頻繁修改字串的情況考慮使用stingbuffer。
3.面試題:
請解釋string、stringbuffer、stringbuilder的區別:
①string的內容不可修改,stringbuffer和
stringbuilder的內容可以修改.
②stringbuffer與stringbuilder大部分功能是相似的。stringbuffer採用同步處理,屬於執行緒安全操作;而stringbuilder採用非同步處理,屬於執行緒不安全操作
String中各種方法
1.該方法的作用是返回乙個字元陣列,該字元陣列中存放了當前字串中的所有字元 string s1 new string 我是中國人 char c s1.tochararray 2.由 基本資料型態轉換成 string string 類別中已經提供了將基本資料型態轉換成 string 的 static ...
String類的各種常用方法
indexof int ch 返回指定字元在此字串中第一次出現位置的索引 indexof int ch,int fromindex 返回指定字元在此字串中第一次出現位置的索引,從 指定索引位置往後開始搜尋,ch要搜尋的字元,fromindex開始搜尋的位置 indexof string ch 返回指...
javascript各種方法的原理及原生實現
object.create function obj f.prototype obj return new f var newobj object.create obj 原型鏈的關係如下 newobj.proto f.prototype obj 訪問順序 newobj newobj.proto ob...