String類各種方法呼叫及相關的知識點

2021-09-29 09:33:15 字數 3350 閱讀 3578

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...