字符串是平常開發中最經常使用的。表明一個字符序列,其底層爲字符數組java
構造方法名稱 | 描述 |
---|---|
String(String original) | 把字符串數據封裝成字符串對象 |
String(char[] value) | 把字符數組的數據封裝成字符串對象 |
String(char[] value,int offset, int count) | 把字符數組中的一部分數據封裝成字符串對象。offset:從哪一個索引開始。count:拼接幾個字符 |
/** * @author 漫路 */ publicclass Demo01String { publicstaticvoid main(String[] args) { //方式 1 //String(String original):把字符串數據封裝成字符串對象 Strings1 = new String("hello"); System.out.println("s1:"+s1); System.out.println("---------"); //方式 2 //String(char[] value):把字符數組的數據封裝成字符串對象 char[] chs = {'h','e','l','l','o'}; String s2 = new String(chs); System.out.println("s2:"+s2); System.out.println("---------"); //方式 3 //String(char[] value, int index, int count):把字符數組中的一部分數據封裝成字符串對象 //String s3 = new String(chs,0,chs.length); char[] arr = {'h','e','l','l','o'}; String s3 = new String(arr,1,3); System.out.println("s3:"+s3); System.out.println("---------"); //方式 4 String s4 = "hello"; System.out.println("s4:"+s4); } }
方法名&返回值 | 描述 |
---|---|
int length () | 獲取長度 |
String trim () | 去除字符串兩端空白 |
boolean startsWith (String prefix) | 是否以指定內容開頭 |
boolean endsWith (String suffix) | 是否以指定內容結尾 |
boolean contains (CharSequence s) | 判斷當前字符串是否包含指定字符串 //CharSequence 是 String 的接口,表示字符序列 |
boolean equals (String str) | 判斷當前字符串是否與指定內容相等 |
boolean equalsIgnoreCase (String str) | 判斷當前字符串是否與指定內容相等。忽略大小寫 |
boolean isEmpty () | 判斷當前字符串是否爲空。true 表示空 |
String toUpperCase () | 將字母轉換成大寫,若是是大寫則不變 |
String toLowerCase () | 將字母轉換成小寫,若是是小寫則不變 |
String substring (int start) | 截取從 start 索引開始到最後的子字符串 |
String substring (int start,int end) | 截取指定位置的子字符串。start:開始索引(包含)。end:結束索引(不包含) |
char[] toCharArray () | 字符串變爲 字符數組 |
char charAt (int index) | 返回指定索引處的字符 |
int indexOf (String ch) | 返回指定字符串在此字符串中第一次出現處的索引。找到就返回索引,找不到就返回-1 |
int indexOf (String ch,int xx) | 從索引 xx 開始查找, 返回指定字符串在此字符串中第一次出現處的索引,找到就返回索引,找不到就返回-1 |
String replace (char oldChar,char newChar) | 使用 new 替換全部的 old,並返回新字符串 |
String toString () | 返回字符串自己 |
int compareTo (String str) | 比較兩個字符串的前後大小順序。返回:正數、0、負數。 |
String[] split (String x) | 以指定字符串 X 爲參照,切割字符串,返回字符串數組。 |
下面的需求所對應的方法,你們本身動手在 API 中查找(就在上面),並進行方法使用。數組
字符串是特殊的引用類型,由於真正的字符串數據在常量池中。設計
常量池中的每個字符串都是常量,一旦生成,不可改變。code
String str1 = "hello"; String str2 = "hello"; //值爲true //說明str1和str2中保存的常量池地址是同一個 System.out.println(str1==str2);
String str1 = new String("hello"); String str2 = "hello"; //值爲false //說明str1和str2中保存的常量池地址是不一樣的 System.out.println(str1==str2);
String str1 = "hello"; String str2 = "hello Java"; //值爲false //說明str1和str2中保存的常量池地址是不一樣的 System.out.println(str1==str2);
字符串的特殊保存方式,是爲了提升運行速度,節約內存空間而設計; 因此咱們不用 = = 進行字符串的比較,由於比較的僅是地址,無心義, 咱們使用 equals 方法比較兩個字符串值