本文以用Java的String數(shù)據(jù)類型為例,為大家String類的常用方法以及字符串常量池。閱讀完整文相信大家對Java的String有了一定的認(rèn)識。

成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|
網(wǎng)站建設(shè)維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋
人造霧等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。
字符串廣泛應(yīng)用 在 Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創(chuàng)建和操作字符串。但是String包含的內(nèi)容非常的復(fù)雜。以下是string一些常見知識點!
- String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎?
String 不屬于基礎(chǔ)類型,基礎(chǔ)類型有 8 種:byte、boolean、char、short、int、float、long、double,而 String 屬于對象。 - String str="i"與 String str=new String("i")一樣嗎?
不一樣,因為內(nèi)存的分配方式不一樣。String str="i"的方式,java 虛擬機會將其分配到常量池中;而 String str=new String("i") 則會被分到堆內(nèi)存中。
3.String 類的常用方法都有那些?
?indexOf():返回指定字符的索引。
?charAt():返回指定索引處的字符。
?replace():字符串替換。
?trim():去除字符串兩端空白。
?split():分割字符串,返回一個分割后的字符串?dāng)?shù)組。
?getBytes():返回字符串的 byte 類型數(shù)組。
?length():返回字符串長度。
?toLowerCase():將字符串轉(zhuǎn)成小寫字母。
?toUpperCase():將字符串轉(zhuǎn)成大寫字符。
?substring():截取字符串。
?equals():字符串比較。 - 如何將字符串反轉(zhuǎn)
1.使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。
2.使用String的 toCharArray(),代碼如下:【不推薦使用】
public static void main(String[] args) {
String str = "123456789";
char[] sc = str.toCharArray();
char[] nsc = new char[9];
int j = 0;
for (int i = sc.length-1; i >=0; i--) {
nsc[j] = sc[i];
j++;
}
String nstr = new String(nsc);
System.out.println(nstr);
}
5 字符串常量池
在Java的內(nèi)存分配中,總共3種常量池,分別是Class常量池、運行時常量池、字符串常量池。
字符串的分配和其他對象分配一樣,是需要消耗高昂的時間和空間的,而且字符串使用的非常多。JVM為了提高性能和減少內(nèi)存的開銷,在實例化字符串的時候進(jìn)行了一些優(yōu)化:使用字符串常量池。每當(dāng)創(chuàng)建字符串常量時,JVM會首先檢查字符串常量池,如果該字符串已經(jīng)存在常量池中,那么就直接返回常量池中的實例引用。如果字符串不存在常量池中,就會實例化該字符串并且將其放到常量池中。由于String字符串的不可變性,常量池中一定不存在兩個相同的字符串。
public static void main(String[] args) {
String str1 = "hello eric";
String str2 = "hello eric";
System.out.println(str1 == str2); // true
}
6 intern方法
直接使用雙引號聲明出來的String對象會直接存儲在字符串常量池中,如果不是用雙引號聲明的String對象,可以使用String提供的intern方法。intern 方法是一個native方法,intern方法會從字符串常量池中查詢當(dāng)前字符串是否存在,如果存在,就直接返回當(dāng)前字符串;如果不存在就會將當(dāng)前字符串放入常量池中,之后再返回。
看完上述內(nèi)容,你們對Java的String數(shù)據(jù)類型有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享名稱:Java的String數(shù)據(jù)類型介紹-創(chuàng)新互聯(lián)
文章來源:http://chinadenli.net/article44/ejoee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站內(nèi)鏈、網(wǎng)站排名、標(biāo)簽優(yōu)化、移動網(wǎng)站建設(shè)、面包屑導(dǎo)航
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)