java实现linkstring,【JAVA SE基础篇】32.String类入门
【JAVA SE基礎(chǔ)篇】32.String類入門
1.字符串
1.String類又稱作不可變字符序列
2.String位于java.lang包中,java程序默認(rèn)導(dǎo)入java.lang包下所有的類
3.java字符串就是Unicode字符序列,例如字符串“java”就是4個(gè)Unicode字符:‘j’,‘a(chǎn)’,‘v’,‘a(chǎn)’組成的
4.java中沒有內(nèi)置的字符串類型,而是在標(biāo)準(zhǔn)的java類庫中提供了一個(gè)預(yù)定義的類String,每個(gè)用雙引號(hào)括起來的字符串都是String類的一個(gè)實(shí)例
5.java中允許使用符號(hào)“+”把兩個(gè)字符串連接起來。
例:
6.字符串連接:“+”把兩個(gè)字符串按照給定的順序連接在一起,并且是完全按照給定的形式
當(dāng)“+”號(hào)運(yùn)算符兩側(cè)的操作數(shù)中只有一個(gè)是字符串(String)類型,系統(tǒng)會(huì)自動(dòng)將另一個(gè)操作數(shù)轉(zhuǎn)換為字符串再進(jìn)行輸出
例:
2.常量池
常量池分為三種:全局字符串常量池,class文件常量池,運(yùn)行時(shí)常量池
1.全局字符串常量池
全局字符串常量池中存放的內(nèi)容時(shí)在類加載完成后存到String Pool中的,在每個(gè)JVM中只有一份
存放的是字符串常量的引用值(在堆中生成字符串對(duì)象實(shí)例)
2.class文件常量池
class常量池是在編譯的時(shí)候每個(gè)class都有的,在編譯階段,存放的是常量(文本字符串,final常量等)和符號(hào)引用
3.運(yùn)行時(shí)常量池
運(yùn)行時(shí)常量池是在類加載完成之后,將每個(gè)class常量池中的符號(hào)引用值轉(zhuǎn)存到運(yùn)行時(shí)常量池中,也就是說,每個(gè)class都有一個(gè)運(yùn)行時(shí)常量池
類在解析后,將符號(hào)引用替換成直接引用,與全局常量池的引用值保持一致。
例:
“==“符號(hào)比較的是等號(hào)兩邊的值以及地址是否相同
str1和str2是通過一個(gè)對(duì)象創(chuàng)建出來的,共同處在同意常量池,所以地址也相同
而str3是新建的String對(duì)象,在一個(gè)新的常量池中,所以str3和str1的地址不同
因此在比較兩個(gè)字符串值是否相同時(shí),通常使用equals()方法。
例:
3.String類的常用方法
char charAt(int index):?返回指定索引處的 char 值。
boolean equals(String other):?將此字符串與指定的對(duì)象比較。
boolean equalsIgnoreCase(String other):將此 String 與另一個(gè) String 比較,不考慮大小寫。
int indexOf():返回指定字符在此字符串中第一次出現(xiàn)處的索引。
lastIndexOf():返回在此字符串中第一次出現(xiàn)指定字符處的索引,從指定的索引開始搜索。
int length():?返回此字符串的長度。
String replace(char oldChar,char newChar):返回一個(gè)新的字符串,它是通過用 newChar 替換此字符串中出現(xiàn)的所有 oldChar 得到的。
boolean startsWith(String prefix):測(cè)試此字符串是否以指定的前綴開始。
boolean endsWith(String prefix):?測(cè)試此字符串是否以指定的后綴結(jié)束
String substring(int beginIndex):返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。
String?substring(int beginIndex,int endIndex):返回一個(gè)新字符串,它是此字符串的一個(gè)子字符串。
String toLowerCase():使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為小寫。
String toUpperCase():使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為大寫。
String trim():返回字符串的副本,忽略前導(dǎo)空白和尾部空白。
例:
總結(jié)
以上是生活随笔為你收集整理的java实现linkstring,【JAVA SE基础篇】32.String类入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保险中的原位癌是什么
- 下一篇: python kill 进程,pytho