日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

关于Java中的String类

發(fā)布時(shí)間:2024/4/11 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Java中的String类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們知道String聲明的字符串是不能被改變的。那么如果我們使用下面的語(yǔ)句:


String str = "Hello" ;

str = str + "World!" ;


你會(huì)發(fā)現(xiàn),我們?nèi)绻敵鰏tr,答案是:Hello World!


那么,從表面上看str被改變了,而實(shí)際上是這樣的:


當(dāng)我們執(zhí)行上面的兩條語(yǔ)句后,中間的過(guò)程用如下圖來(lái)表示:





也就是說(shuō)開(kāi)始用String申請(qǐng)的空間保存的"Hello"在內(nèi)存中是不變的,在連接“World!”的時(shí)候重新申請(qǐng)了空間。最后str重新指向str + "World!"。


可以發(fā)現(xiàn),如果在一個(gè)程序中我們大量使用這樣的語(yǔ)句將會(huì)使程序的效率變得非常低,因?yàn)橐皇窃谥赶蛐碌膬?nèi)存塊之前要先斷開(kāi)原來(lái)的指向鏈接,二是這樣會(huì)產(chǎn)生很多垃圾空間。



String類(lèi)中的重要API


1.public char[] toCharArray() ? 將字符串轉(zhuǎn)化為字符數(shù)組。


? 例:char c[] = str.toCharArray();


2.char charAt(int index) ?返回字符串中下標(biāo)為index的字符。


3.將字符數(shù)組轉(zhuǎn)化為字符串

??

? 例:str1 = new String(c) ? ? ? ? ? ? 把字符數(shù)組的全部字符轉(zhuǎn)化為字符串

? ? ?str2 = new String(c,start,num) ? 把字符數(shù)組的部分字符轉(zhuǎn)化為字符串


4.字符串與Byte數(shù)組的轉(zhuǎn)換


?byte數(shù)組(字節(jié)數(shù)組),在一般的IO操作中會(huì)經(jīng)常使用到。

?byte[] getBytes() ?將字符串變?yōu)樽止?jié)數(shù)組


5.查找指定的字符是否存在


? public int indexOf(String str) ? ?返回的是字符串的位置,如果不存在則返回-1


6.去掉字符串的多余的空格,只能去掉左右兩邊多余的空格,而中間的不能。 例如:str.trim()


7.字符串截取


? 例:str.substring(6) ? 從第七個(gè)位置開(kāi)始截取到結(jié)尾。

? ? ?str.sunstring(0,5) ?0為起始位置,5為結(jié)束位置的子串。


綜合應(yīng)用:

public class StringAPI {public static void main(String[] args){String str = "HelloWorld!";char c[] = str.toCharArray(); // 把字符串轉(zhuǎn)化為字符數(shù)組for(int i=0;i<c.length;i++){System.out.print(c[i]+" ");}System.out.println();String str1 = new String(c); //把字符數(shù)組轉(zhuǎn)化為字符串String str2 = new String(c,0,3);//把字符數(shù)組中的從0開(kāi)始的3個(gè)字符轉(zhuǎn)化為字符串System.out.println(str1);System.out.println(str2);System.out.println(str1.charAt(4)); //取出str1中下標(biāo)為4的字符byte c1[] = str.getBytes();} }


總結(jié)

以上是生活随笔為你收集整理的关于Java中的String类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。