JAVA中String類的使用方法示例講解
1、前言
String類是我們用來處理字符串的常用類。
在接下來,我會通過講解:
創(chuàng)建String的方式->String之間的比較->String類的常用方法
來幫助你掌握String類的基本用法。
2、String的使用
2.1 創(chuàng)建String
創(chuàng)建String多種多樣,這里列舉了常用的幾種。
有一點要注意,如果要通過byte數(shù)組創(chuàng)建字符串,byte數(shù)組中的單個值不能大于127,因為這里是通過ASCII碼表來對應的。
// 直接對“zjx”引用
String string01 = "zjx";
// 將“zjx”傳入構造方法進行構建
String string02 = new String("zjx");
// 通過字符數(shù)組構建
String string03 = new String(new char[]{'z','j','x'});
// 通過字節(jié)數(shù)組構建
String string04 = new String(new byte[]{97,98,99});
// 通過字節(jié)數(shù)組和索引構建
String string05 = new String(new byte[]{97,98,99},0,2);
// 通過字符數(shù)組和索引構建
String string06 = new String(new char[]{'z','j','x'},0,2);String類的構造方法

2.2 String之間的比較
2.2.1 比較方式
一般情況下,String之間的比較是通過String類重寫的equals方法來判定。
2.2.2 equals詳解
String類重寫的equals方法:
1 判斷比較對象是否為自身 ,是則返回true ,不是則進行下一步。
2 判斷比較對象是否為String類型 , 不是則返回false , 是則進行下一步。
3 字符串壓縮功能是否被禁用 ,若禁用則跳到步驟4,為禁用則跳到步驟5。
4 若啟用壓縮,僅當兩字符串編碼相同時才繼續(xù)比較,相等則下一步 , 不相等則返回false。
5 判斷兩個String類底層的
@Stable private final byte[] value; //其實就是表現(xiàn)出來的字符串
是否一致,并返回結果。

2.3 常用方法
// equals區(qū)分大小寫,判斷內容是否一致
System.out.println("zjx 與 ZJX :" + "zjx".equals("ZJX"));
// equalsIgnoreCase忽略大小寫,判斷內容是否一致
System.out.println("zjx 與 ZJX :" + "zjx".equalsIgnoreCase("ZJX"));
// length獲取字符串長度
System.out.println("zjx".length());
// indexOf獲取字符在字符串中第一次出現(xiàn)的索引,若不存在該字符,返回-1
System.out.println("zjxzjx".indexOf("z"));
// indexOf獲取字符在字符串中最后一次出現(xiàn)的索引,若不存在該字符,返回-1
System.out.println("zjxzjx".lastIndexOf("z"));
// split根據(jù)該字符分割字符串,若該字符不存在于字符串中,則不分割
System.out.println("zjxzjx".split("z").length);
// substring從指定索引處截取指定個數(shù)的字符串
System.out.println("zjxzjx".substring(1,2));
// trim去除前后空格
System.out.println(" zjxzjx ".trim());
// 獲取在指定索引處的字符
System.out.println("zjx".charAt(1));3、結束語
像“zjx”這種后面也是可以直接調用String類的方法,在兩個String比較時,若一方一致固定,推薦讓“zjx”這種字符串來調用equals,來避免空指針異常。
String類型的值是不可改變的,所發(fā)生的字符串變化,只不過是引用發(fā)生了變化。
到此這篇關于JAVA中String類使用方法的文章就介紹到這了,更多相關JAVA中String類使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Jackson2的JsonSchema實現(xiàn)java實體類生成json方式
這篇文章主要介紹了Jackson2的JsonSchema實現(xiàn)java實體類生成json,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
解決Spring security5.5.7報錯Encoded password does
這篇文章主要介紹了解決Spring security5.5.7出現(xiàn)Encoded password does not look like BCrypt異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Mybatis多條數(shù)據(jù)只返回一條的問題及解決
文章介紹了在MyBatis中進行聯(lián)查時,如果只返回主表數(shù)據(jù)而子表數(shù)據(jù)相同,可能會導致重復數(shù)據(jù)的問題,解決方法是在主表對象中添加一個臨時字段,并將子表的不同數(shù)據(jù)封裝到主表中,從而避免重復數(shù)據(jù)的返回2026-03-03
如何基于ThreadPoolExecutor創(chuàng)建線程池并操作
這篇文章主要介紹了如何基于ThreadPoolExecutor創(chuàng)建線程池并操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
解決feign之間文件上傳報錯:Error converting request body
這篇文章主要介紹了解決feign之間文件上傳報錯:Error converting request body的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05

