介紹java操作字串類的主要方法
1、length方法
length()方法的用法如下所示:
public static void main(String[] args) {
String s1="中國IT社交網站";
String s2="csdn";
System.out.println(s1.length());
System.out.println(s2.length());
}
輸出結果為:
8
4
2、charAt方法
charAt方法的用法如下所示:
public static void main(String[] args) { String s1="中國IT社交網站"; String s2="csdn"; System.out.println(s1.charAt(2)); System.out.println(s2.charAt(2)); }
索引值從0開始,返回的是index+1的字元。輸出結果為:
I
d
3、equals方法和equalslgnoreCace方法
equals(String s)方法用來比較當前字串物件的實體是否與引數指定的字串s的實體相同。該方法忽略大小。它的用法如下:
public static void main(String[] args) { String s1=new String("we are csdn"); String s2=new String("we are csdn"); String s3=new String("we are not csdn"); System.out.println("s1.equals(s2)的值為: " + s1.equals(s2)); System.out.println("s1.equals(s3)的值為: " + s1.equals(s3)); }
輸出結果為:
s1.equals(s2)的值為: true s1.equals(s3)的值為: false
4、compareTo和compareTolgnoreCase方法
compareTo()按辭典順序與引數s指定的字串比較大小。如果當前字串與s相同,該方法返回值為0;如果當前字串物件大於s,該方法返回正值;如果小於s,該方法返回負值。comareTo()用法例項如下所示:
public static void main(String[] args) { String s1="tjitcast"; String s2="csdn"; String s3=new String("csdn"); System.out.println("s1.compareTo(s2)的值為: " + s1.compareTo(s2));//s1>s2取值為正 System.out.println("s3.compareTo(s2)的值為: " + s3.compareTo(s2));//s3=s2取值為0 System.out.println("s2.compareTo(s1)的值為: " + s2.compareTo(s1));//s2<s1取值為負 }
輸出結果為:
s1.compareTo(s2)的值為: 17 s3.compareTo(s2)的值為: 0 s2.compareTo(s1)的值為: -17
5、與indexOf相關的方法
在專案開發中經常用到搜尋字串的功能,在String類中,提供了較豐富的搜尋字串的方法,這些常用的搜尋方法如下所示。
(1)public int indexOf(String s)方法,表示從當前字串的頭開始檢索字串s,並返回首次返回出現s的位置。如果沒有檢索到字串s,則該方法返回的值是-1.
(2)public int indexOf(String s,int startpoint)方法,表示字串呼叫該方法從當前字串的startpoint位置處開始檢索字串s,並返回首次出現s的位置。如果沒有檢索到字串s,則該方法會發的值是-1.
(3)public int lastIndexOf(String s)方法,表示字串呼叫該方法從當前字串的頭開始檢索字串s,並返回最後出現s的位置。如果沒有檢索到字串s,該方法返回的值是-1.
(4)public int lastIndexOf(String s,int startpoint)方法,表示字串呼叫該方法從當前字串的startpoint位置處開始檢索字串s,並返回最後出現s的位置。如果沒有檢索到字串s,則該方法會發的值是-1.
以上方法的用法例項如下所示。
public static void main(String[] args) {
String s1="This is a java program method, also a method to test java programs.";
System.out.println(s1.indexOf("i"));
System.out.println(s1.indexOf("j",9));
System.out.println(s1.lastIndexOf("o"));
System.out.println(s1.lastIndexOf("t", 25));
}
輸出結果為:
2
10
60
25
6、startsWith和endsWith方法
startsWith(String prefix)和endsWith(String Suffix)方法用來測試此字串是否以指定的字首開始或結束。相關用法如下
public static void main(String[] args) {
String tom="220302620629021";
String jerry="21079670924022";
System.out.println("tom.startsWith(\"220\")的值為: " + tom.startsWith("220"));
System.out.println("jerry.startsWith(\"220\")的值為: " + jerry.startsWith("220"));
}
輸出結果為:
tom.startsWith("220")的值為: true jerry.startsWith("220")的值為: false
7、regionMatches方法
regionMatches(int firstStart,String other,int ortherStart,int length)方法用來從當前字串引數firstStart指定的位置開始處取長度 為length的一個子串,並將這個子串和引數other指定的一個子串進行比較。其中other指定的子串是指從other字串的ortherStart所指定的位置開始,擷取長度為length的一個子串。如果兩個子串相同該方法就返回true,否則返回false。該方法的過載方法如下
public boolean regionMatches(boolean b, int firstStart,String other,int ortherStart,int length)可以通過引數b決定是否忽略大小寫,當b取true時,忽略大小寫。其相關用法如下所示。
public static void main(String[] args) {
String s1="中國IT社交平臺cdsncdsncdsn";
String s2="中國IT社交平臺cdsncdsncdsn";
System.out.println(s1.regionMatches(2, s2, 2, 12));
System.out.println(s1.regionMatches(false,2, s2, 2, 12));
}
輸出結果為:
true
true