java關(guān)于字符串的常用API
前言
所謂的字符串其實(shí)就是一串連續(xù)的字符,它是由許多單個(gè)字符連接而成的。如多個(gè)英文字母所組成的一個(gè)英文單詞。字符串中可以包含任意字符,這些字符必須包含在一對雙引號之內(nèi),例如“Dufeng”。
而與字符串相關(guān)的類都放在java.lang包中,故也不需要“導(dǎo)包”。
其主要分為兩大類:
①:String類——創(chuàng)建后不能再修改和變動(dòng)的字符串常量。
②:StringBuffer類——創(chuàng)建后可以再修改和變動(dòng)的字符串變量
(此外還有用于分割字符串的StringTokenizer類在本節(jié)當(dāng)中也會提到)
雖然StringBuffter類也用來代表字符串,但其在實(shí)際處理過程中,不會產(chǎn)生新的對象 ,所以在內(nèi)存的使用量上是比String類更有優(yōu)勢的。
StringBuffer類的作用更偏向于對字符串進(jìn)行插入、追加和刪除等。
二者的屬于不同的類型,所以不能直接進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
一、String類
String是字符串常量。主要用于處理那些內(nèi)容不會改變的字符串,String對象在進(jìn)行字符串處理時(shí),會產(chǎn)生新的對象而不是改變原有的值。且String對象可以通過操作符"+"進(jìn)行連接。
在操作String類之前,我們需用用以下兩種方式對其進(jìn)行初始化。
①:使用字符串常量直接初始化String對象
String str="Hello Dufeng";
②:使用String的構(gòu)造方法初始化String對象
String str = new String("Hello Dufeng");
String類的構(gòu)造方法如下所示:
二、StringBuffter類
由于字符串是常量,因此一旦創(chuàng)建,其內(nèi)容和長度是不可改變的。如果需要對一個(gè)字符串進(jìn)行修改,則只能創(chuàng)建新的字符串。為了便于對字符串進(jìn)行修改,在JDK中提供了一個(gè)StringBuffer類(也稱字符串緩沖區(qū))。
StringBuffter對象在每次修改時(shí)都會改變自身,其內(nèi)容和長度都是可以改變的,這是與String對象最大的區(qū)別,而它的初始化也與后者不同,Java為其提供了特殊的語法,通常使用構(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對象分析字符串,并利用分隔符對其進(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫失效問題
這篇文章主要介紹了解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫失效問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09淺談Spring事務(wù)傳播行為實(shí)戰(zhàn)
這篇文章主要介紹了淺談Spring事務(wù)傳播行為實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09java 正則,object中兩個(gè)方法的使用(詳解)
下面小編就為大家?guī)硪黄猨ava 正則,object中兩個(gè)方法的使用(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08springboot時(shí)間格式化的五種方法總結(jié)(解決后端傳給前端的時(shí)間顯示不一致)
這篇文章主要給大家介紹了關(guān)于springboot時(shí)間格式化的五種方法,文中介紹的方法解決了后端傳給前端的時(shí)間顯示不一致,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01spring cloud學(xué)習(xí)教程之config修改配置詳解
這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)教程之config修改配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09