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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java笔记:String类

發(fā)布時間:2023/12/20 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记:String类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.String類是不可變類,一旦一個String對象被創(chuàng)建以后,包含在這個對象中的字符序列式不可改變的,直至這個對象被銷毀。

String s1 = "java"; s1 = s1 + "android"; s1 = s1 + "mysql";

1)上面三個語句使用了3個字符串直接量之外,還會額外生成2個字符串直接量,"javaandroid","javaandroidmysql";程序中的s1依次指向3個不同的字符串對象。因為String是不可變的,所以會額外產(chǎn)生很多臨時變量。
2)使用StringBuffer和StringBuilder就可以避免這個問題,StringBuilder提供了一系列插入、追加、改變該字符串里包含的字符序列的方法。
3)StringBuffer和StringBuilder的length是可變的,可以通過length()、和setLength(int len)方法來訪問和修改其字符序列的長度。
4)StringBuffer對象則代表一個字符序列可變的字符串。一旦通過StringBuffer生成了最終想要的字符串,就可以調(diào)用它的toString()方法將其轉(zhuǎn)換成一個String對象。
5)StringBuilder也代表字符串對象,基本與StringBuffer相似。不同的是StringBuffer是線程安全的,而StringBuilder則沒有實現(xiàn)線程安全,所以性能略高。

package cn.lsl;public class StringBuilderTest {public static void main(String[] args) {StringBuilder sb = new StringBuilder();//追加字符串sb.append("java");System.out.println(sb);//插入sb.insert(0, "hello ");System.out.println(sb);//替換sb.replace(5, 6, ",");System.out.println(sb);//刪除sb.delete(5, 6);System.out.println(sb);//反轉(zhuǎn) System.out.println(sb.reverse());//改變長度sb.setLength(5);System.out.println(sb);} }

2.String對象中常用的操作字符串的方法

1)char charAt(int index):獲取字符串中指定位置的字符。

String s = new String("abcdefghijklmn"); System.out.println("s.charAt(2):" + s.charAt(2));

采用for循環(huán)遍歷出字符串中的所有字符

for(int i=0; i<s.length(); i++){System.out.println("Char " + i + " is " + s.charAt(i)); }

2)int compareTo(String anotherString):比較兩個字符串的大小。如果兩個字符串的字符序列相等,則返回0;不相等時,從兩個字符串第0個字符開始比較,返回第一個不相等的字符差。
另一種情況,較長字符串的前面部分恰巧是較短的字符串,則返回它們的長度差。

String s1 = new String("abcdefgh"); String s2 = new String("abcde"); String s3 = new String("abcdefga"); System.out.println(s1.compareTo(s2)); System.out.println(s1.compareTo(s3));

3)String concat(String str):將該String對象與str連接在一起。

String s1 = "aaaa"; String s2 = "bbbb"; System.out.println(s1.concat(s2))

4)static String copyValueOf(char[] data):將字符數(shù)組連綴成字符串。
static String copyValueOf(char[] data,int offset,int count):將char數(shù)組的子數(shù)組中的元素連綴成字符串。

char data[] = new char[]{'a','b','c','d'}; System.out.println(String.copyValueOf(data)); System.out.println(String.copyValueOf(data,1,2));

5)boolean endsWith(String suffix):返回該String對象是否已suffix結(jié)尾。

?

String a = "abcdefg"; String b = "fg"; System.out.println(a.endsWith(b));

?

6)boolean equals(Object anObject):將該字符串與制定對象比較,如果二者包含的字符序列相等,則返回true,否則返回false。
boolean equalsIgnoreCase(String str):與equals(Object anObject)方法相似,只是忽略了大小寫。

String a = "abc"; String b = "abc"; System.out.println(a.equals(b)); String c = "dEf"; String d = "DeF"; System.out.println(c.equalsIgnoreCase(d));

7)byte[] getBytes():將該String對象轉(zhuǎn)換成byte數(shù)組。

String a = "abcdef"; byte b[] = a.getBytes(); System.out.println(b.length);

8)void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin):該方法將字符串從srcBegin開始,到srcEnd結(jié)束的字符復(fù)制到dst字符數(shù)組中,dstBegin為目標字符數(shù)組的起始復(fù)制位置。

char[] s1 = {'I',' ','l','o','v','e',' ','j','a','v','a'}; String s2 = "you"; s2.getChars(0, 3, s1, 7); System.out.println(s1);

9)int indexOf(int ch):找出ch字符在該字符串中第一次出現(xiàn)的位置。
int indexOf(int ch, int formIndex);找出ch字符在該字符串中從fromIndex開始第一次出現(xiàn)的位置。
int indexOf(String str):找出str子字符串在該字符串中第一次出現(xiàn)的位置。
int indexOf(String str, int formIndex);找出str子字符在該字符串中從fromIndex開始后第一次出現(xiàn)的位置。

String s = "write once, run anywhere"; String ss = "run"; System.out.println(s.indexOf('r')); System.out.println(s.indexOf('r', 2)); System.out.println(s.indexOf(ss));

int lastIndexOf(int ch):找出ch字符在該字符串中最后一次出現(xiàn)的位置。
int lastIndexOf(int ch, int formIndex);找出ch字符在該字符串中從fromIndex開始最后一次出現(xiàn)的位置。
int lastIndexOf(String str):找出str子字符串在該字符串中最后一次出現(xiàn)的位置。
int lastIndexOf(String str, int formIndex);找出str子字符在該字符串中從fromIndex開始后最后一次出現(xiàn)的位置。

10)boolean startsWith(String prefix):該String對象是否以prefix。
boolean startsWith(String prefix, int toffset):該String對象從toffset位置算起,是否以prefix開始。

String s = "write once, run anywhere"; String s1 = "write"; String s2 = "run"; System.out.println(s.startsWith(s1)); System.out.println(s.startsWith(s2, 12));

11)char toCharArray():將該String對象轉(zhuǎn)換成char數(shù)組。

String a = "abcdef"; char b[] = a.toCharArray(); System.out.println(b.length);

12)String substring(int beginIndex):獲取從beginindex位置開始到結(jié)束的子字符串。

String substring(int beginIndex, int endIndex):獲取從beginIndex位置開始到endIndex位置的子字符串。 String a = "abcdefghijklmn"; System.out.println(a.substring(2)); System.out.println(a.substring(2,5));

13)String toLowerCase():將字符串轉(zhuǎn)換成小寫。
String toUpperCase():將字符串轉(zhuǎn)換成大寫。

String a = "aBcDeFgHiJkLmN"; System.out.println(a.toLowerCase()); System.out.println(a.toUpperCase());

14)String valueOf(X x):將基本數(shù)據(jù)類型轉(zhuǎn)換成String對象。

String a = String.valueOf(23.333); System.out.println(a);

String類中還有很多的方法,我們都可以從API文檔中查到各種方法的用法。

?

轉(zhuǎn)載于:https://www.cnblogs.com/EvanLiu/p/3150067.html

總結(jié)

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

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