更新時(shí)間:2023年03月30日16時(shí)48分 來(lái)源:傳智教育 瀏覽次數(shù):
操作字符串時(shí),經(jīng)常需要對(duì)字符串進(jìn)行一些判斷,如判斷字符串是否以指定的字符串開(kāi)始、結(jié)束,是否包含指定的字符串,字符串是否為空等。在 String類(lèi)中針對(duì)字符串的判斷操作提供了很多方法,接下來(lái)通過(guò)二個(gè)案例來(lái)學(xué)習(xí)這些判斷方法的使用,如下所示:
public class Example05 { public static void main(String[] args) { String sl="starter"; //聲明一個(gè)字符串 String s2 ="St"; System,out.println("判斷是否以字符串 st 開(kāi)頭:“+s1startswith("St")); System.out.printin("判斷是否以字符串 er結(jié)尾:”+slendswith("er")); System.out.printIn("判斷是否包含字符串 ar;”+scontains("ar")); System.out.println("判斷字符串是否為空:"+sl.isEmpty()); System.out.println("判斷兩個(gè)字符串是否相等:”+sl.equals(s2)); } }
上述涉及的方法都是用于判斷字符串的,并且返回值均為 boolean 類(lèi)型。在所使用的方法中,equals()方法是比較重要的,在 String 類(lèi)中重寫(xiě)了父類(lèi) Object 中的 equals(方法。
在程序中可以通過(guò)==和equals)兩種方式對(duì)字符串進(jìn)行比較,但這兩種方式有明顯的區(qū)別。equals()方法用于比較兩個(gè)字符串中的字符值是否相等,-=方法用于比較兩個(gè)字符串對(duì)象的內(nèi)存地址是否相同。對(duì)于兩個(gè)字符串對(duì)象,當(dāng)它們的字符值完全相同時(shí),使用equals判斷結(jié)果會(huì)是 true,但使用==判斷時(shí),結(jié)果一定為 false。為了便于理解,下面給出示例代碼:
String strl = new String("abc"); String str2 = new String("abc"); //結(jié)果為false,因?yàn)?str1和str2是兩個(gè)對(duì)象 System.out.println(strl ==str2); //結(jié)果為 true,因?yàn)閟trI和 str2字符內(nèi)容相同 System.out.println(strl.equals(str2));
北京校區(qū)