我們可以根據內容和引用來比較Java中的String。
它用於身份驗證(透過 equals() 方法)、排序(透過 compareTo() 方法)、引用匹配(透過 == 運算子)等。
Java中比較String的三種方式:
#透過使用equals() 方法
透過使用== 運算子
透過compareTo() 方法
# String 類別的equals() 方法比較字串的原始內容。它比較字串的值是否相等。 String 類別提供以下兩種方法:
public boolean equals(Object another)將此字串與指定物件進行比較。
public boolean equalsIgnoreCase(String another)將此字串與另一個字串進行比較,忽略大小寫。
測試字串比較1.java
类 测试字符串比较1{ 公共静态无效 主要(字符串参数[]){ 字符串 s1= "萨钦" ; 字符串 s2= "萨钦" ; 字符串 s3=新 字符串(“萨钦” ); 字符串 s4= "Saurav" ; System.out.println(s1.equals(s2)); //真的 System.out.println(s1.equals(s3)); //真的 System.out.println(s1.equals(s4)); //错误的 } }
輸出:
真的 真的 错误的
在上面的程式碼中,使用String類別的equals()方法比較兩個字串。結果被印為布林值,true或false。
測試字串比較2.java
类 测试字符串比较2{ 公共静态无效 主要(字符串参数[]){ 字符串 s1= "萨钦" ; 字符串 s2= "SACHIN" ; System.out.println(s1.equals(s2)); //错误的 System.out.println(s1.equalsIgnoreCase(s2)); //真的 } }
輸出:
错误的 真的
在上面的程式中,使用了String類別的方法。如果 String 物件符合且兩個字串大小寫相同,則 equals() 方法傳回true 。無論字串大小寫如何, equalsIgnoreCase()都會傳回 true。
== 運算子比較引用而不是值。
測試字串比較3.java
类 测试字符串比较3{ 公共静态无效 主要(字符串参数[]){ 字符串 s1= "萨钦" ; 字符串 s2= "萨钦" ; 字符串 s3=新 字符串(“萨钦” ); System.out.println(s1==s2); //true(因为两者都引用同一个实例) System.out.println(s1==s3); //false(因为s3是指在非池中创建的实例) } }
輸出:
真的 错误的
String類別compareTo() 方法以字典順序比較值並傳回一個整數值,該值描述第一個字串是否小於、等於或大於第二個字串。
假設 s1 和 s2 是兩個 String 物件。如果:
s1 == s2:方法傳回 0。
s1 > s2:此方法傳回一個正值。
s1 < s2:此方法傳回一個負值。
測試字串比較4.java
类 测试字符串比较4{ 公共静态无效 主要(字符串参数[]){ 字符串 s1= "萨钦" ; 字符串 s2= "萨钦" ; 字符串 s3= "拉坦" ; System.out.println(s1.compareTo(s2)); //0 System.out.println(s1.compareTo(s3)); //1(因为s1>s3) System.out.println(s3.compareTo(s1)); //-1(因为 s3 < s1 ) } }
輸出:
0 1 -1
以上是Java字串比較的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!