Java String類,字串常量池,建立方法,字串的獲取,擷取,轉換,分割。
1、String類
java.lang.String類代表字串。
API當中說,Java程式中的所有字串字面值(如"abc")都作為此類的例項實現。
其實就是說,程式當中所有的雙引號字串,都是String類的物件。(就算沒有new,也一樣是的)。
字串的特點:
1、字串的內容永不可變【重點】
2、正是因為字串用不可改變,所以字串是可以共享使用的。
3、字串效果是相當於是char[ ]字元陣列,但是底層原理是byte[ ]位元組陣列。
建立字串的常見3 + 1種方式:
三種構造方法:
public String() :建立一個空白字串,不含有任何內容。
public String(char[ ] array) :根據字元數字的內容,來建立對應的字串。
public String(byte[ ] array) :根據位元組陣列的內容,來建立對應的字串。
一種直接建立:
String str = “XXXX”;
注意:直接寫上雙引號,就是字串物件。
2、字串常量池
字串常量池:程式當中直接寫上的雙引號字串,就在字串常量池中。
對於基本型別來說, == 是進行數值的比較。
對於引用型別來說, == 是進行【地址值】的比較。
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
char[] charArray = {'a', 'b', 'c'};
String str3 = new String(charArray);
byte[] byteArray = {97,98,99};
String str4 = new String(byteArray);
System.out.println(str1 == str2); //true
System.out.println(str1 == str3); //false
System.out.println(str2 == str3); //false
System.out.println(str4 == str1); //false
System.out.println(str4 == str2); //false
System.out.println(str4 == str3); //false
}
3、字串的相關比較方法
== 是進行字串的地址值比較,如果確實需要字串的內容比較,可以使用兩個方法。
1、public boolean equals(Object obj); 引數可以是任何物件,只有引數是一個字串並且內容相同的才會給true,否則返回值是false
注意事項:
1、任何物件都能用Object進行接收。
2、equals方法具有對稱性,a.equals(b)和b.equals(a)一樣
3、如果比較雙方一個常量一個變數,推薦把常量字串寫在前面。
推薦:“abc”.equals(str); 不推薦:str.equals(“abc”);
2、public boolean equalsIgnoreCase(String str): 忽略大小寫進行內容比較。
注意:只有英文字母區分大小寫。
4、字串的獲取相關方法
public int length():獲取字串的字元個數,拿到字串長度。
public String concat(String str):將當前字串和引數字串拼接成為返回值新的字串
public char chatAt(int index):獲取指定索引位置的單個字元。
public int indexOf(String str):查詢引數字串在本字串當中首次出現的索引位置。
5、字串的擷取方法
public String subString(int index): 擷取從引數位置一直到字串末尾,返回新字串
public String subString(int begin, int end):擷取從begin開始,一直到end結束,中間的字串。
備註:[begin, end) 包含左邊,不包含右邊。
6、字串的轉換
1、public char[ ] toCharArray():將當前字串拆分成為字元陣列作為返回值。
2、public byte[ ] getBytes():獲得當前字串底層的位元組陣列。
3、public String replace(CharSequence oldString,CharSequence newString):將所有出現的老字串替換成為新的字串,返回替換之後的結果新字串。
備註:CharSequence意思就是可以接受字串型別。
7、字串的分隔方法
分隔字串的方法:
public String[ ] split(String regex):按照引數的規則,將字串切分為若干部分。
注意事項:split方法的引數其實是一個正規表示式,如果按照英文句點,必須寫**"\."**.
相關文章
- 字串擷取字串
- Golang 字串分割,替換和擷取 strings.SplitGolang字串
- PHP字串擷取PHP字串
- iOS NSString字串擷取方法iOS字串
- MySQL 字串函式:字串擷取MySql字串函式
- java基礎:String — 字串常量池與intern(二)Java字串
- php中英字串擷取PHP字串
- 獲取特定的字串 (轉)字串
- php字串擷取函式,支援中文擷取PHP字串函式
- java中字串常量池的用法Java字串
- 字串常量池字串
- python函式教程:Python 字串操作(string替換、擷取等)Python函式字串
- shell 擷取變數的字串變數字串
- jQuery字串擷取詳解jQuery字串
- iOS擷取NSString字串iOS字串
- Mysql字串擷取函式MySql字串函式
- 從字串到常量池,一文看懂String類設計字串
- Shell中的字串擷取介紹字串
- JAVA虛擬機器-方法區與字串常量池Java虛擬機字串
- Python字串操作大總結,string替換、刪除、擷取、複製、連Python字串
- Swift 4.0 字串擷取,拼接,字串富文字顯示Swift字串
- 高效的中文字串擷取函式 (轉)字串函式
- Linux下的字串擷取詳解Linux字串
- javascript擷取指定指定區間的字串JavaScript字串
- iOS擷取特定的字串(正則匹配)iOS字串
- Linux shell指令碼的字串擷取Linux指令碼字串
- JavaScript 擷取指定指定區間字串JavaScript字串
- php 擷取中英文混合字串PHP字串
- C#常用字串擷取C#字串
- shell 使用陣列及字串擷取陣列字串
- 檔案路徑類 字串的各種擷取方式,包括擷取到檔名字串
- Java常量池解析與字串intern簡介Java字串
- Java String常量池Java
- 字串擷取 slice,substr,substring 的區別字串
- swift 字串學習 (index用法和擷取)Swift字串Index
- php 如何擷取中文字串PHP字串
- 正確理解和使用JAVA中的字串常量池Java字串
- String與字串池字串