1、判斷字符串的開始與結尾
startsWith()方法與endsWith()方法分別用於判斷字符串是否以指定的內容開始或結束。這兩個方法的返回值都為boolean類型。
startsWith()方法
該方法用於判斷當前字符串對象的前綴是否是參數指定的字符串。
語法:
str.startsWith(Stringprefix)
prefix:作為前綴的字符。
endsWith()方法
該方法用於判斷當前字符串是否是以給定的子字符串結束。
語法:
str.endsWith(Stringsuffix)
suffix:作為後綴的字符串。
例在項目中創建類StartOrEnd,在主方法中創建String型變量,並判斷變量的前導和後置字符串。
publicclassStartOrEnd { // 創建類
publicstaticvoidmain(String args[]) { // 主方法
String num1 = "22045612"; // 定義字符串num1
String num2 = "21304578"; // 定義字符串num2
booleanb = num1.startsWith("22"); // 判斷字符串num1是否以』22』開頭
booleanb2 = num1.endsWith("78"); // 判斷字符串num1是否以』78』開頭
booleanb3 = num2.startsWith("22"); // 判斷字符串num2是否以』22』開頭
booleanb4 = num2.endsWith("78"); // 判斷字符串num2是否與』78』開頭
// 輸出信息
System.out.println("字符串num1是以'22'開始的嗎?" + b);
System.out.println("字符串num1是以'78'結束的嗎?" + b2);
System.out.println("字符串num2是以'22'開始的嗎?" + b3);
System.out.println("字符串num2是以'78'結束的嗎?" + b4);
}
}
運行的結果如圖1所示。
2、判斷字符串是否相等
字符串作為對象如對其進行比較不能簡單的使用比較運算符「==」,因為比較運算符比較的是兩個字符串的地址是否相同。即使兩個字符串的內容相同,但兩個對象的內存地址是不同的。使用比較運算符仍然會返回false。
例使用比較運算符比較兩個字符串,實例代碼如下:
String tom = newString("Iam a student");
String jerry = newString("Iam a student");
booleanb = (tom == jerry);
此時布爾型變量b的值為false,因為字符串是對象,tom、jerry是引用,內存示意圖如圖1所示。
因此要比較兩個字符串內容是否相等,應使用equals()方法和equalsIgnoreCase()方法。
equals()方法
如果兩個字符串具有相同的字符和長度,則使用equals()方法進行比較時,則返回true。
語法:
str.equals(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
equalsIgnoreCase()方法
使用equals()方法對字符串進行比較時,是區分大小寫的。而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個字符串是否相等。返回結果仍為boolean類型。
語法:
str.equalsIgnoreCase(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
通過下面的例子可以看出equals()方法和equalsIgnoreCase()方法的區別。
例在項目中創建類Opinion,在主方法中創建String型變量,實現判斷兩個字符串是否相等,並將結果輸出。
publicstaticvoidmain(String args[]) { //主方法
String s1 = new String("abc"); //創建字符串對象s1
String s2 = new String("ABC"); //創建字符串對象s2
String s3 = new String("abc"); //創建字符串對象s3
booleanb = s1.equals(s2); //使用equals()方法比較s1與s2
booleanb2 = s1.equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比較s1與s2
System.out.println(s1+ " equals " + s2 + " :" + b); //輸出信息
System.out.println(s1+ " equalsIgnoreCase " + s2 + " :" + b2);
}
}
運行結果如圖2所示。
3、按字典順序比較兩個字符串
compareTo()方法為按字典順序比較兩個字符串,該比較基於字符串中各個字符的Unicode值。按字典順序將此String對象表示的字符序列與參數字符串所表示的字符序列進行比較。如果按字典順序此String對象位於參數字符串之前,則比較結果為一個負整數;如果按字典順序此String對象位於參數字符串之後,則比較結果為一個正整數;如果這兩個字符串相等,則結果為0。
語法:
str.compareTo(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
說明:compareTo()方法只有在equals(Object)方法返回true時才返回0。
在項目中創建類Wordbook,在主方法中創建String變量,使用compareTo()方法將字符變量進行比較。並將比較結果輸出。
publicclassWordbook { //創建類
publicstaticvoidmain(String args[]) { //主方法
String str = new String("b");
String str2 = new String("a"); //用於比較的3個字符串
String str3 = new String("c");
System.out.println(str+ " compareTo " + str2 + ":"
+ str.compareTo(str2)); //將str與str2比較的結果輸出
System.out.println(str+ " compareTo " + str3 + ":"
+ str.compareTo(str3)); //將str與str3比較的結果輸出
}
}
運行結果如圖1所示:
今天就寫這麼多,後邊繼續寫吧,字符串這邊比較重要,內容就寫詳細點吧!