java string类方法_Java基础学习——String类及其方法
String類概述
該類被final修飾,無子類,不可被復寫。創建的對象一旦初始化,其內容不可被改變。
String類復寫了Object類中的equals()定義了自己的獨特內容,該方法用于判斷字符串相同。
例:
String s1 = "abc";
String s2 = new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
結果顯示
false
true
面試中常考:這里的s1,s2有何區別?
s1在內存中一個對象,s2有兩個對象。因為內存中有一個常量池存放字符串。字符串被存放進去以后,以后創建新的字符串時會優先在常量池中尋找并組合而成,而s2是創建一個全新的字符串。如:
String s1 = "abc";
String s3 = "abc";
System.out.println(s1==s2);
結果將是true,即s1和s3指向了同一個對象。
常見方法
1.獲取
1.1 字符串長度。
int length():獲取長度。
1.2 根據位置獲取位置上的某個字符。
char charAt(int index) :返回指定索引處字符。
1.3 根據字符獲取該字符在字符串中的位置。如果沒有找到返回-1.
int indexOf(int ch):找到該字符第一次出現的位置
int indexOf(int ch,int fromIndex):從fromIndex處開始索引。
int indexOf(String str)
int indexOf(String str,int fromIndex):從fromIndex檢索字符串str的位置。
相反的,如果需要反向索引,有類似方法
int lastIndexOf(*) 從右往左索引,然后**輸出其在字符串數組中的位置**
2.判斷
2.1 字符串中是否包含某一個子串。
boolean contains(CharSequence str);
★特殊之處:int indexOf(str)也可以檢索str是否存在。
2.2 字符串中是否有內容。
boolean isEmpty():原理就是判斷length是否為0
2.3 字符串是否是以指定內容開頭。
boolean startWith(String str);
2.4 字符串是否是以指定內容結尾
boolean startWith(String str);
應用場景:通過判斷文件名檢索所需要的文件
2.5 判斷字符串內容是否相同
boolean equals(str)
2.6 判斷內容是否相同并忽略大小寫
boolean equalsIgnoreCase(str)
3.轉換
3.1 將字符數組轉成字符串
構造函數
String(char[])
String(char[],offset,count)將字符數組一部分轉成字符串
例:
char[] arr = {'a','b','c','d','e','f'};
String s = new String(arr,1,3);
結果將是 bcd.因為數組下角標從0開始,故這里起始位是b,取3個字符,即為bcd.
靜態方法:需要跟在String后使用
static String copyValueOf(char[]);
static String copyValueOf(char[],offset,count);
3.2 將字符串轉成字符數組
char[] toCharArray();
3.3 將字節數組轉成字符串
String(byte[]);
String(byte[],offset,count);
3.4 將字符串轉成字節數組
byte[] getBytes();
3.5 將基本數據類型轉成字符串
static Sting valueOf();
特殊:字符串和字節數組在轉換過程中是可以指定編碼表的
4.替換
String replace(old char/str,new char/str);
注意:由于字符串一旦被創建不能被改變,所以這里的替換后將會返回一個新字符串副本,而原來的字符串不會有變換
5.切割
String[] split(regex) 以regex為分割符號進行分割
6.子串
String substring(begin);從指定出開始到結尾
String substring(begin,end);從begin處開始到end處結束,之間的子串。**包括begin但不包括end.**
例
String s = "abcdef";
s1 = s.substring(2);
s2 = s.substring(2,4);
結果s1=cdef,s2=cd。
7.轉換
7.1 將字符串轉成大寫或者小寫
String toUpperCase();
String toLowerCase();
7.2 將字符串兩端多個空格去除
String trim();
7.3 對兩個字符串進行自然順序的比較
int compareTo(str);**比較兩個字符串大小,并返回第一個不同的字符之間的ASCII碼值差值。**
總結
以上是生活随笔為你收集整理的java string类方法_Java基础学习——String类及其方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 的安装方法_显卡安装方法
- 下一篇: 谈谈java面向对象思想_对于Java面