java關(guān)于字符串的常用API
前言
所謂的字符串其實(shí)就是一串連續(xù)的字符,它是由許多單個(gè)字符連接而成的。如多個(gè)英文字母所組成的一個(gè)英文單詞。字符串中可以包含任意字符,這些字符必須包含在一對(duì)雙引號(hào)之內(nèi),例如“Dufeng”。
而與字符串相關(guān)的類都放在java.lang包中,故也不需要“導(dǎo)包”。
其主要分為兩大類:
①:String類——創(chuàng)建后不能再修改和變動(dòng)的字符串常量。
②:StringBuffer類——創(chuàng)建后可以再修改和變動(dòng)的字符串變量
(此外還有用于分割字符串的StringTokenizer類在本節(jié)當(dāng)中也會(huì)提到)
雖然StringBuffter類也用來(lái)代表字符串,但其在實(shí)際處理過(guò)程中,不會(huì)產(chǎn)生新的對(duì)象 ,所以在內(nèi)存的使用量上是比String類更有優(yōu)勢(shì)的。
StringBuffer類的作用更偏向于對(duì)字符串進(jìn)行插入、追加和刪除等。
二者的屬于不同的類型,所以不能直接進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
一、String類
String是字符串常量。主要用于處理那些內(nèi)容不會(huì)改變的字符串,String對(duì)象在進(jìn)行字符串處理時(shí),會(huì)產(chǎn)生新的對(duì)象而不是改變?cè)械闹?。且String對(duì)象可以通過(guò)操作符"+"進(jìn)行連接。
在操作String類之前,我們需用用以下兩種方式對(duì)其進(jìn)行初始化。
①:使用字符串常量直接初始化String對(duì)象
String str="Hello Dufeng";
②:使用String的構(gòu)造方法初始化String對(duì)象
String str = new String("Hello Dufeng");String類的構(gòu)造方法如下所示:

二、StringBuffter類
由于字符串是常量,因此一旦創(chuàng)建,其內(nèi)容和長(zhǎng)度是不可改變的。如果需要對(duì)一個(gè)字符串進(jìn)行修改,則只能創(chuàng)建新的字符串。為了便于對(duì)字符串進(jìn)行修改,在JDK中提供了一個(gè)StringBuffer類(也稱字符串緩沖區(qū))。
StringBuffter對(duì)象在每次修改時(shí)都會(huì)改變自身,其內(nèi)容和長(zhǎng)度都是可以改變的,這是與String對(duì)象最大的區(qū)別,而它的初始化也與后者不同,Java為其提供了特殊的語(yǔ)法,通常使用構(gòu)造方法初始化。

三、StringTokenizer類
在一些算法題中,我們時(shí)常需要將字符串按字符輸出或者輸出字符串中的字符個(gè)數(shù)。
這時(shí)我們就可以使用StringTokenizer類了,利用分隔符進(jìn)行操作,
java中默認(rèn)的分隔符是空格、制表符(\t)、換行符(\n)、回車符(\r)。
其有三種構(gòu)造方法:

下面是一個(gè)案例,計(jì)算字符串中的單詞個(gè)數(shù)。
關(guān)鍵的在于單詞之間的分隔符,每當(dāng)有分隔符出現(xiàn),就代表有一個(gè)新的單詞,故可以利用StringTokenizer對(duì)象分析字符串,并利用分隔符對(duì)其進(jìn)行分割。
public static void main(String[] args) {
String str="Hello,World!";
System.out.println("單詞的個(gè)數(shù)為:"+Count(str));
}
static int Count(String str){
StringTokenizer tk= new StringTokenizer(str,",!");
int n=0;
while(tk.hasMoreTokens()){
tk.nextToken();
n++;
}
return n;
}
到此這篇關(guān)于java關(guān)于字符串的常用API的文章就介紹到這了,更多相關(guān)java字符串API內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫(kù)失效問(wèn)題
這篇文章主要介紹了解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫(kù)失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
淺談Spring事務(wù)傳播行為實(shí)戰(zhàn)
這篇文章主要介紹了淺談Spring事務(wù)傳播行為實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
java 正則,object中兩個(gè)方法的使用(詳解)
下面小編就為大家?guī)?lái)一篇java 正則,object中兩個(gè)方法的使用(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
springboot時(shí)間格式化的五種方法總結(jié)(解決后端傳給前端的時(shí)間顯示不一致)
這篇文章主要給大家介紹了關(guān)于springboot時(shí)間格式化的五種方法,文中介紹的方法解決了后端傳給前端的時(shí)間顯示不一致,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
代碼詳解Java猴子選王問(wèn)題(約瑟夫環(huán))
本篇文章通過(guò)實(shí)例給大家分析了java約瑟夫環(huán)這個(gè)經(jīng)典內(nèi)容,有興趣的跟著小編一起學(xué)習(xí)下吧。2018-02-02
spring cloud學(xué)習(xí)教程之config修改配置詳解
這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)教程之config修改配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09

