摘要:創(chuàng)建的對(duì)象一旦初始化,其內(nèi)容不可被改變。類(lèi)復(fù)寫(xiě)了類(lèi)中的定義了自己的獨(dú)特內(nèi)容,該方法用于判斷字符串相同。如結(jié)果將是,即和指向了同一個(gè)對(duì)象。常見(jiàn)方法獲取字符串長(zhǎng)度。返回指定索引處字符。
String類(lèi)概述
該類(lèi)被final修飾,無(wú)子類(lèi),不可被復(fù)寫(xiě)。創(chuàng)建的對(duì)象一旦初始化,其內(nèi)容不可被改變。
String類(lèi)復(fù)寫(xiě)了Object類(lèi)中的equals()定義了自己的獨(dú)特內(nèi)容,該方法用于判斷字符串相同。
例:
String s1 = "abc"; String s2 = new String("abc"); System.out.println(s1==s2); System.out.println(s1.equals(s2));
結(jié)果顯示
false
true
面試中常考:這里的s1,s2有何區(qū)別?
s1在內(nèi)存中一個(gè)對(duì)象,s2有兩個(gè)對(duì)象。因?yàn)閮?nèi)存中有一個(gè)常量池存放字符串。字符串被存放進(jìn)去以后,以后創(chuàng)建新的字符串時(shí)會(huì)優(yōu)先在常量池中尋找并組合而成,而s2是創(chuàng)建一個(gè)全新的字符串。如:
String s1 = "abc"; String s3 = "abc"; System.out.println(s1==s2);
結(jié)果將是true,即s1和s3指向了同一個(gè)對(duì)象。
常見(jiàn)方法
1.獲取1.1 字符串長(zhǎng)度。
int length():獲取長(zhǎng)度。
1.2 根據(jù)位置獲取位置上的某個(gè)字符。
char charAt(int index) :返回指定索引處字符。
1.3 根據(jù)字符獲取該字符在字符串中的位置。如果沒(méi)有找到返回-1.
int indexOf(int ch):找到該字符第一次出現(xiàn)的位置 int indexOf(int ch,int fromIndex):從fromIndex處開(kāi)始索引。 int indexOf(String str) int indexOf(String str,int fromIndex):從fromIndex檢索字符串str的位置。
相反的,如果需要反向索引,有類(lèi)似方法
int lastIndexOf(*) 從右往左索引,然后**輸出其在字符串?dāng)?shù)組中的位置**2.判斷
2.1 字符串中是否包含某一個(gè)子串。
boolean contains(CharSequence str);
★特殊之處:int indexOf(str)也可以檢索str是否存在。
2.2 字符串中是否有內(nèi)容。
boolean isEmpty():原理就是判斷l(xiāng)ength是否為0
2.3 字符串是否是以指定內(nèi)容開(kāi)頭。
boolean startWith(String str);
2.4 字符串是否是以指定內(nèi)容結(jié)尾
boolean startWith(String str);
應(yīng)用場(chǎng)景:通過(guò)判斷文件名檢索所需要的文件
2.5 判斷字符串內(nèi)容是否相同
boolean equals(str)
2.6 判斷內(nèi)容是否相同并忽略大小寫(xiě)
boolean equalsIgnoreCase(str)3.轉(zhuǎn)換
3.1 將字符數(shù)組轉(zhuǎn)成字符串
構(gòu)造函數(shù)
String(char[]) String(char[],offset,count)將字符數(shù)組一部分轉(zhuǎn)成字符串
例:
char[] arr = {"a","b","c","d","e","f"}; String s = new String(arr,1,3);
結(jié)果將是 bcd.因?yàn)閿?shù)組下角標(biāo)從0開(kāi)始,故這里起始位是b,取3個(gè)字符,即為bcd.
靜態(tài)方法:需要跟在String后使用
static String copyValueOf(char[]); static String copyValueOf(char[],offset,count);
3.2 將字符串轉(zhuǎn)成字符數(shù)組
char[] toCharArray();
3.3 將字節(jié)數(shù)組轉(zhuǎn)成字符串
String(byte[]); String(byte[],offset,count);
3.4 將字符串轉(zhuǎn)成字節(jié)數(shù)組
byte[] getBytes();
3.5 將基本數(shù)據(jù)類(lèi)型轉(zhuǎn)成字符串
static Sting valueOf();
特殊:字符串和字節(jié)數(shù)組在轉(zhuǎn)換過(guò)程中是可以指定編碼表的
4.替換String replace(old char/str,new char/str);
注意:由于字符串一旦被創(chuàng)建不能被改變,所以這里的替換后將會(huì)返回一個(gè)新字符串副本,而原來(lái)的字符串不會(huì)有變換
5.切割String[] split(regex) 以regex為分割符號(hào)進(jìn)行分割6.子串
String substring(begin);從指定出開(kāi)始到結(jié)尾 String substring(begin,end);從begin處開(kāi)始到end處結(jié)束,之間的子串。**包括begin但不包括end.**
例
String s = "abcdef"; s1 = s.substring(2); s2 = s.substring(2,4);
結(jié)果s1=cdef,s2=cd。
7.轉(zhuǎn)換7.1 將字符串轉(zhuǎn)成大寫(xiě)或者小寫(xiě)
String toUpperCase(); String toLowerCase();
7.2 將字符串兩端多個(gè)空格去除
String trim();
7.3 對(duì)兩個(gè)字符串進(jìn)行自然順序的比較
int compareTo(str);**比較兩個(gè)字符串大小,并返回第一個(gè)不同的字符之間的ASCII碼值差值。**
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66329.html
摘要:案例演示抽象類(lèi)的成員特點(diǎn)抽象類(lèi)的成員方法特性抽象方法強(qiáng)制要求子類(lèi)做的事情。抽象類(lèi)中定義的是該繼承體系的共性功能。 1.多態(tài)的概述及其成員訪問(wèn)特點(diǎn)代碼體現(xiàn) A:多態(tài)(polymorphic)概述 事物存在的多種形態(tài) B:多態(tài)前提- 1.要有繼承關(guān)系 2.要有方法重寫(xiě) 3.要有父類(lèi)引用指向子類(lèi)對(duì)象。 C:多態(tài)中的成員訪問(wèn)特點(diǎn)之 成員變量:編譯和運(yùn)行都看父類(lèi)。 成員方法:編...
摘要:基礎(chǔ)問(wèn)題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識(shí)點(diǎn)總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機(jī)制解讀抽象類(lèi)與三大特征時(shí)間和時(shí)間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類(lèi)對(duì)象鎖和類(lèi)鎖的區(qū)別,,優(yōu)缺點(diǎn)及比較提高篇八詳解內(nèi)部類(lèi)單例模式和 Java基礎(chǔ)問(wèn)題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎(chǔ)問(wèn)題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識(shí)點(diǎn)總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機(jī)制解讀抽象類(lèi)與三大特征時(shí)間和時(shí)間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類(lèi)對(duì)象鎖和類(lèi)鎖的區(qū)別,,優(yōu)缺點(diǎn)及比較提高篇八詳解內(nèi)部類(lèi)單例模式和 Java基礎(chǔ)問(wèn)題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎(chǔ)問(wèn)題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識(shí)點(diǎn)總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機(jī)制解讀抽象類(lèi)與三大特征時(shí)間和時(shí)間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類(lèi)對(duì)象鎖和類(lèi)鎖的區(qū)別,,優(yōu)缺點(diǎn)及比較提高篇八詳解內(nèi)部類(lèi)單例模式和 Java基礎(chǔ)問(wèn)題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
閱讀 1314·2021-11-15 11:37
閱讀 3503·2021-11-11 16:55
閱讀 1756·2021-08-25 09:39
閱讀 3220·2019-08-30 15:44
閱讀 1735·2019-08-29 12:52
閱讀 1408·2019-08-29 11:10
閱讀 3244·2019-08-26 11:32
閱讀 3226·2019-08-26 10:16