String:字符串類型
1、構造函數。
String() :構造一個空字符串對象。
String(byte[] bytes) :通過byte數組構造字符串對象。
String(byte[] bytes, int offset, int length) :通過byte數組,從offset開始,總共length長的字節構造字符串對象。
String(char[] value) :通過char數組構造字符串對象。
String(char[] value, int offset, int count) :通過char數組,從offset開始,總共length長的字節構造字符串對象。
String(String original) :構造一個original的副本。既,拷貝一個original。
String(StringBuffer buffer) :通過StringBuffer數組構造字符串對象;
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
String sb = new String(b);
String sb_sub = new String(b,3,2);
String sc = new String(c);
String sc_sub = new String(c,3,2);
String sb_copy = new String(sb);
System.out.println("sb: " + sb );
System.out.println("sb_sub: " + sb_sub );
System.out.println("sc: " + sc );
System.out.println("sc_sub: " + sc_sub );
System.out.println("sb_copy: " + sb_copy );
結果為:
sb: abcdefghij
sb_sub: de
sc: 0123456789
sc_sub: 34
sb_copy: abcdefghij
2、方法。
說明:
1. 所有方法均為public;
2. 書寫格式:[修飾符] <返回類型> <方法名([參數列表])>
如:
static int parseInt(String s) 表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數為String類型。
1. char charAt(int index) :取字符串中的某一個字符,其中的參數index指的是字符串中序數。字符串的序數從0開始到length()-1 。
String s = new String("abcdefghijklmnopqrstuvwxyz");
System.out.println("s.charAt(5): " + s.charAt(5) );
結果為:s.charAt(5): f
2. int compareTo(String anotherString) :當前String對象與anotherString比較。相等關系返回0;不相等時,從兩個字符串第0個字符開始比較,返回第一個不相等的字符差,另一種情況,較長字符串的前面部分恰巧是較短的字符串,返回它們的長度差。
3. int compareTo(Object o) :如果o是String對象,和2的功能一樣;否則拋出ClassCastException異常。
String s1 = new String("abcdefghijklmn");
String s2 = new String("abcdefghij");
String s3 = new String("abcdefghijalmn");
System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) );//返回長度差
System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) );//返回'k'-'a'的差
結果為:
s1.compareTo(s2): 4
s1.compareTo(s3): 10
4. String concat(String str) :將該String對象與str連接在一起。
5. boolean contentEquals(StringBuffer sb) :將該String對象與StringBuffer對象sb進行比較。
6. static String copyValueOf(char[] data) :
7. static String copyValueOf(char[] data, int offset, int count) :這兩個方法將char數組轉換成String,與其中一個構造函數類似。
8. boolean endsWith(String suffix) :該String對象是否以suffix結尾。
String s1 = new String("abcdefghij");
String s2 = new String("ghij");
System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );
結果為:s1.endsWith(s2): true
9. boolean equals(Object anObject) :當anObject不為空並且與當前String對象一樣,返回true;否則,返回false。
10. byte[] getBytes() :將該String對象轉換成byte數組。
11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :該方法將字符串拷貝到字符數組中。其中,srcBegin為拷貝的起始位置、srcEnd為拷貝的結束位置、字符串數值dst為目標字符數組、dstBegin為目標字符數組的拷貝起始位置。
char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!'};//s1=I love her!
String s2 = new String("you!");
s2.getChars(0,3,s1,7);//s1=I love you!
System.out.println( s1 );
結果為:I love you!
12. int hashCode() :返回當前字符的哈希表碼。
13. int indexOf(int ch) :只找第一個匹配字符位置。
14. int indexOf(int ch, int fromIndex) :從fromIndex開始找第一個匹配字符位置。
15. int indexOf(String str) :只找第一個匹配字符串位置。
16. int indexOf(String str, int fromIndex) :從fromIndex開始找第一個匹配字符串位置。
String s = new String("write once, run anywhere!");
String ss = new String("run");
System.out.println("s.indexOf('r'): " + s.indexOf('r') );
System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) );
System.out.println("s.indexOf(ss): " + s.indexOf(ss) );
結果為:
s.indexOf('r'): 1
s.indexOf('r',2): 12
s.indexOf(ss): 12
17. int lastIndexOf(int ch)
18. int lastIndexOf(int ch, int fromIndex)
19. int lastIndexOf(String str)
20. int lastIndexOf(String str, int fromIndex) 以上四個方法與13、14、15、16類似,不同的是:找最後一個匹配的內容。
21. int length() :返回當前字符串長度。
22. String replace(char oldChar, char newChar) :將字符號串中第一個oldChar替換成newChar。
23. boolean startsWith(String prefix) :該String對象是否以prefix開始。
24. boolean startsWith(String prefix, int toffset) :該String對象從toffset位置算起,是否以prefix開始。
String s = new String("write once, run anywhere!");
String ss = new String("write");
String sss = new String("once");
System.out.println("s.startsWith(ss): " + s.startsWith(ss) );
System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );
結果為:
s.startsWith(ss): true
s.startsWith(sss,6): true
25. String substring(int beginIndex) :取從beginIndex位置開始到結束的子字符串。
26.String substring(int beginIndex, int endIndex) :取從beginIndex位置開始到endIndex位置的子字符串。
27. char[] toCharArray() :將該String對象轉換成char數組。
28. String toLowerCase() :將字符串轉換成小寫。
29. String toUpperCase() :將字符串轉換成大寫。
String s = new String("java.lang.Class String");
System.out.println("s.toUpperCase(): " + s.toUpperCase() );
System.out.println("s.toLowerCase(): " + s.toLowerCase() );
結果為:
s.toUpperCase(): JAVA.LANG.CLASS STRING
s.toLowerCase(): java.lang.class string
30. static String valueOf(boolean b)
31. static String valueOf(char c)
32. static String valueOf(char[] data)
33. static String valueOf(char[] data, int offset, int count)
34. static String valueOf(double d)
35. static String valueOf(float f)
36. static String valueOf(int i)
37. static String valueOf(long l)
38. static String valueOf(Object obj)
以上方法用於將各種不同類型轉換成Java字符型。這些都是類方法。