Java為我們提供了compareTo、「==」、equals對字串進行比較,以下介紹他們的差異。
範例一:compareTo比較資料的大小 (建議學習:java課程)
compareTo(string) compareToIgnoreCase(String) compareTo(object string)
此範例透過使用上面的函數比較兩個字串,並傳回一個int型別。若字串等於參數字串、則回傳0,字串小於參數字串、則回傳值小於0,字串大於參數字串、回傳值大於0。
判斷字串大小的依據是根據他們在字典中的順序決定的。
package com.de.test; /** * Java字符串比较大小 */ public class StringA { public static void main(String[] args){ String str = "String"; String anotherStr = "string"; Object objstr = str; System.out.println(str.compareTo(anotherStr)); System.out.println(str.compareToIgnoreCase(anotherStr)); System.out.println(str.compareTo(objstr.toString())); } }
執行上面程式碼產生下面結果
-32 0 0
範例二:使用equals(),「==」方式比較字串
使用equals()和==,差別在於equals比較的是內容是否相等、==比較的是引用的變數位址是否相等。
package com.de.test; public class StringA { public static void main(String[] args){ String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); String s4 = new String("hello"); System.out.println("s1:" + s1); System.out.println("s2:" + s2); System.out.println("s3:" + s3); System.out.println("s4:" + s4); System.out.println("----------比较内容是否相等---------------"); System.out.println(s1.equals(s2)); System.out.println(s2.equals(s3)); System.out.println(s3.equals(s4)); System.out.println("----------比较引用地址是否相等---------------"); System.out.println(s1 == s2); System.out.println(s2 == s3); System.out.println(s3 == s4); } }
執行上面程式碼產生下面結果
s1:hello s2:hello s3:hello s4:hello ----------比较内容是否相等--------------- true true true ----------比较引用地址是否相等--------------- true false false
以上是java如何進行字串的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!