1、兩種創建方式 使用字面量創建時只會生成一個對象,而通過構造方法創建時會生成兩個對象(前面的str2和後面的new String對象) 2、常見的構造方法 3、其它常用方法 4、String、StringBuffer、StringBuilder 4.1、String是不可變的字元序列,在定義時長度 ...
1、兩種創建方式
1 String str1 = "abc"; //字面量創建 2 String str2 = new String("abc"); //構造方法創建
使用字面量創建時只會生成一個對象,而通過構造方法創建時會生成兩個對象(前面的str2和後面的new String對象)
2、常見的構造方法
1 public String() //空參構造 2 public String(byte[] bytes) //把位元組數組轉換成字元串 3 public String(byte[] bytes,int index,int length) //把位元組數組的一部分轉換成字元串 4 public String(char[] value) //把字元數組轉換成字元串 5 public String(char[] value,int index,int count) //把字元數組的一部分轉換成字元串
3、其它常用方法
1 int length() //返回字元串長度 2 3 String substring(int beginIndex,int endIndex) //獲取字元串的一部分 4 //beginIndex 開始位置下標 endIndex 結束位置下標+1 5 String substring(int beginIndex) //獲取字元串的一部分 6 //beginIndex 開始位置下標 一直到最後 7 boolean startsWith(String prefix) //判斷一個字元串的開頭、首碼是不是prefix 8 9 boolean endsWith(String prefix) //判斷一個字元串的結尾、尾碼是不是prefix 10 11 boolean contains(String s) //判斷一個字元串是否包含s 12 13 int indexOf(char ch) //查找一個字元,返回在字元串中第一次出現的索引,如果沒找到,則返回-1 14 15 byte[] getBytes() //將字元串轉換成位元組數組 16 17 char[] toCharArray() //將字元串轉換成字元數組 18 19 boolean equals(Object obj) //判斷字元串中的字元是否完全相同,完全相同返回true,區分大小寫 20 21 boolean equalsIgnoreCase(String s) //同上,忽略大小寫 22 23 toUpperCase() //轉大寫 24 25 toLowerCase() //轉小寫
4、String、StringBuffer、StringBuilder
4.1、String是不可變的字元序列,在定義時長度就確定了。StringBuffer與StringBuilder是可變的字元序列,長度預設為16位,定義時不足16位的位置為空,後續可以在填充,實現長度可變。
4.2、StringBuffer是jdk1.0版本的,線程安全、效率低,StringBuilder是jdk1.5版本的,線程不安全、效率高