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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

String、StringBuffer、StringBuilder类

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 String、StringBuffer、StringBuilder类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

String、StringBuffer、StringBuilder類:java提供了string、stringbuffer兩個類來封裝字符串,并提供了一系列方法來操作字符串對象。


String類是不可變的類,一旦一個string對象被創建之后,包含在這個對象的字符序列式不可變的。
StringBuffer則代表一個字符序列可變的字符串,通過StringBuffer提供的append、insert、reverse等方法可以改變這個字符串對象的字符序列。
StringBuilder類:和StringBuffer基本相似,不同的是,StringBuffer是線程安全的,而StringBuilder則沒有實現線程安全功能,所以性能略高。


String類提供了大量構造器來創建對象,其中如下幾個有特殊用途:
1、String():創建一個包含0個字符串序列的string對象(并不是返回null)
2、String(byte[] bytes,Charset charset):使用指定的字符集將指定的byte數組解碼成一個新的String對象。
3、String(byte[] bytes,int offset,int lengh):使用平臺的默認字符集將指定byte數組的offset開始,長度為length的子數組解碼成一個新的String對象。
4、String(byte[] bytes,int offset,int lengh,String chasetName):使用指定的字符集將指定byte數組的offset開始,長度為length的子數組解碼成一個新的String對象。
5、String(byte[] bytes,String chasetName):使用指定的字符集將指定的byte數組解碼成一個新的String對象。
6、String(chasr[] value,int offset,int count):將指定字符串數組從offset開始,長度為length的子數組中的字符串連綴成字符串。
7、String(String original):根據字符串直接量來創建一個string對象。
8、String(StringBuffer buffer):根據StringBuffer對象來創建對應的string對象。
9、String(StringBuilder builder):根據StringBuilder對象來創建對應的string對象。


下面是對字符串進行操作的方法:
1、char [] charAt(int index):取字符串中指定位置的字符。
2、int compareTo(String anotherString):拿當前對象和anotherString比較,如果兩個字符串序列相等則返回0,;不相等時,從兩個字符串第0個字符串開始比較,返回第一個不相等的字符差,另一種情況是,較長字符串的前面部分剛好是較短的字符串,返回它們的長度差。
3、String concat(String str):將該string對象與str連接在一起,與字符串連接運算符 + 功能相同。
4、boolean contenEquals(StringBuffer sb):將該string對象與sb進行比較,若它們包含的字符序列相同則返回true。
5、static String copyValueOf(char[] data):將字符數組連綴成字符串。
6、static String copyValueOf(char[] data,int offset,int count):將char數組的子數組中的元素連綴成字符串。
7、boolean endsWith(String aabb):返回該對象是否以aabb結尾。
8、boolean equals(Object obj):將字符串與指定對象比較。
9、boolean equalsIgnoreCase(String str):與前一個方法相同,只是忽略大小寫。
10、byte[] getBytes():將該string對象轉換成byte數組。
11、void getChars(int srcBegin,int srcEnd,char[] det,int detBegin):該方法將字符串中從srcBegin開始,到srcEnd結束的字符復制到dst字符數組中,其中detBegin為目標字符數組的起始復制位置。
12、等等。。。。。

"hello"和new String("hello")的區別:
常量池指的是在編譯期被確定、并被保存在已編譯的.class文件中的一些數據,包括關于類、方法、接口中的常量和字符串常量。

String a=”ab”;
String b=”cd”;
String c=”abcd”;
String d=”ab”+”cd”;
String e=a+b;
String f=new string (“ab”);
c==d(√)?????
f==a(×)
c==e(×)——>e指向的是a、b的復合地址,c和d指向的是“abcd”的地址.
java會確保每個字符串常量只有一個,不會產生對個副本

轉載于:https://www.cnblogs.com/wyl-study/archive/2012/02/20/2358900.html

總結

以上是生活随笔為你收集整理的String、StringBuffer、StringBuilder类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。