詳解Java String類常用方法有哪些
一、構(gòu)造器
實質(zhì)是給底層的char數(shù)組value賦值
String s1 = new String();
String s2 = new String(“abc”);
String s3 = new String(new char[]{‘a(chǎn)',‘b',‘c'});
二、方法
str.length() 字符串長度本質(zhì)是底層的char數(shù)組的長度
str.isEmpty() 本質(zhì)是判斷底層char數(shù)組長度是否為0
str.charAt(i) 本質(zhì)是取底層char數(shù)組的第i個元素(字符)
str1.equals(str2)本質(zhì)是比較二者底層char數(shù)組的元素是否都相等
str1.compareTo(str2)本質(zhì)是返回二者底層char數(shù)組中第一個不同元素(字符的碼值)之差,如果沒有不同元素,則返回二者底層char數(shù)組長度之差。如果返回0,說明二者底層char數(shù)組相同。
三、常用方法
package com.llg.learnString; import java.util.Arrays; import java.util.Locale; public class Learn01 { //程序的入口 public static void main(String[] args) { String s11 = "abcdefghijk"; System.out.println(s11); //字符串截取 從第3位開始取到最后 System.out.println(s11.substring(3));//defghijk //字符串截取 從第3位開始取到第6位最后 System.out.println(s11.substring(3, 6));//def //字符串合并拼接 把zzzzz拼接到后面 System.out.println(s11.concat("zzzzz"));//abcdefghijkzzzzz //字符串中的字符替換 把b替換為x System.out.println(s11.replace('b','x'));//axcdefghijk String s12 = "a-b-c-def-ghi-jk"; //字符串分割 以-分割字符串,返回字符串?dāng)?shù)組 String[] strarr= s12.split("-"); System.out.println(Arrays.toString(strarr));//[a, b, c, def, ghi, jk] //轉(zhuǎn)換為小寫 String s13 = "abc"; System.out.println(s13.toUpperCase());//ABC //轉(zhuǎn)換為大寫 String s14 = "ABC"; System.out.println(s14.toLowerCase());//abc //去除首尾空格 String s15 = " a b c def "; System.out.println(s15.trim());//a b c def //toString String s16 = "abc"; System.out.println(s16.toString());//abc //轉(zhuǎn)換為字符串String.valueOf System.out.println(String.valueOf(true));//true System.out.println(String.valueOf(false));//false } }
四、String的內(nèi)存分析
4.1、無變量參與的字符串拼接,編譯后只存在結(jié)果字符串
編譯器優(yōu)化
4.2、new String(“abc”)新的字符串對象
4.3、變量參與的字符串拼接,編譯器不會優(yōu)化
反匯編查看javap -c Learn5.class
到此這篇關(guān)于詳解Java String類常用方法有哪些的文章就介紹到這了,更多相關(guān)String類常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java統(tǒng)計漢字字?jǐn)?shù)的方法示例
這篇文章主要介紹了java統(tǒng)計漢字字?jǐn)?shù)的方法,結(jié)合實例形式分析了java正則判定、字符串遍歷及統(tǒng)計相關(guān)操作技巧,需要的朋友可以參考下2017-05-05spring使用xml方式整合Druid數(shù)據(jù)源連接池
傳統(tǒng)的JDBC數(shù)據(jù)庫連接方式,每次連接都需加載Connection到內(nèi)存并驗證,使用后再放回,從而重復(fù)利用數(shù)據(jù)庫連接資源,這不僅降低了系統(tǒng)資源消耗,還避免了頻繁連接導(dǎo)致的服務(wù)器崩潰和內(nèi)存泄漏風(fēng)險,數(shù)據(jù)庫連接池在初始化時創(chuàng)建并保持最小數(shù)量的數(shù)據(jù)庫連接2024-10-10詳解JAVA 線程-線程的狀態(tài)有哪些?它是如何工作的?
這篇文章主要介紹了詳解JAVA 線程的的相關(guān)資料,文中講解非常細(xì)致,源碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下2020-06-06