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

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

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

