1. 程式人生 > >關於String源碼分析

關於String源碼分析

長度 boolean indexof valueof replace 源碼分析 拼接 方法 inter

關於String的類定義:
  public final class String implements java.io.Serializable, Comparable<String>, CharSequence
  以final修飾,不可繼承,不可變,其方法默認都是final的
實現 Serializable、Comparable<String>、CharSequence 三個接口。
private final char value[];string內部是一個字符數組。
常用方法:
1、int length():返回字符串長度
2、boolean isEmpty():返回字符串是否為空,判斷條件是字符串長度
3、char charAt(int index):返回字符串index位置的值
4、boolean equals(Object object):重寫Object類中的方法,判斷過程為,先判斷是否是同一對象,是就返回true;然後判斷object是否為字符串類型,是就把object強轉為string類型,然後判斷長度是否相同,相同的話再轉換為字符數組,一個一個比較
5、int indexOf(String str,int fromIndex):返回str在字符串中從指定的索引開始首次出現的位置
6、int lastIndexOf(String str,int fromIndex):返回str在字符串中從指定的索引開始最後出現的位置
7、String substring(int beginIndex):返回一個子字符串,是字符串從指定索引開始到字符串結束的子字符串
8、String concat(String str):返回一個新字符串,str拼接到字符串後面
9、String replace(char oldChar,char newChar):返回一個新字符串,字符串中舊字符被替換為新字符,並返回新字符串
10、String replaceAll(String regex,String replacement):返回一個新字符串,可與replace()相同,也可按照regex規則替換,並返回新字符串
11、String[] split(String regex):返回一個字符串數組,按照regex規則進行拆分
12、String join(CharSequence delimiter,CharSequence.. elements):java8新增功能,按照規則進行拼接字符串或數組
13、String toLowerCase()/toUpperCase():返回新字符串,把字符串中的字母轉換為小/大寫後返回新字符串
14、String trim():去掉收尾的空格去掉返回新字符串
15、char[] toCharArray():把字符串轉換為字符數組
16、String valueOf(Object obj):(obj==null)? "null":obj.toString()
17、String intern():當調用 intern 方法時,如果池已經包含一個等於此 String 對象的字符串(該對象由 equals(Object) 方法確定),則返回池中的字符串。否則,將此 String 對象添加到池中,並且返回此 String 對象的引用。
寫在後面:
關於String對象的創建和常量池

關於String源碼分析