字符串比較是常見的操作,包括比較相等、比較大小、比較前綴和后綴串等。在 Java 中,比較字符串的常用方法有 3 個:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面詳細介紹這 3 個方法的使用。
equals() 方法將逐個地比較兩個字符串的每個字符是否相同。如果兩個字符串具有相同的字符和長度,它返回 true,否則返回 false。對于字符的大小寫,也在檢查的范圍之內。equals() 方法的語法格式如下:
str1.equals(str2);
str1 和 str2 可以是字符串變量, 也可以是字符串字面量。 例如, 下列表達式是合法的:
"Hello".equals(greeting)
下面的代碼說明了 equals() 方法的使用:
在第一次進入系統時要求管理員設置一個密碼,出于安全考慮密碼需要輸入兩次,如果兩次輸入的密碼一致才生效,否則提示失敗。具體實現代碼如下:
運行該程序,由于 equals() 方法區分大小寫,所以當兩次輸入的密碼完全一致時,equals() 方法返回 true,輸出結果如下所示:
否則輸出如圖下所示的結果:
equalsIgnoreCase() 方法的作用和語法與 equals() 方法完全相同,唯一不同的是 equalsIgnoreCase() 比較時不區分大小寫。當比較兩個字符串時,它會認為 A-Z 和 a-z 是一樣的。
下面的代碼說明了 equalsIgnoreCase() 的使用:
在會員系統中需要輸入用戶名和密碼進行檢驗,下面使用 equalsIgnoreCase() 方法實現檢驗登錄時不區分用戶名和密碼的大小寫,具體的代碼實現如下所示。
在上述代碼中,由于使用 equalsIgnoreCase() 方法進行比較,所以會忽略大小寫判斷。因此輸入 ADMIN 和 SOMBOY 也會驗證通過,如下所示:
否則輸出結果如下所示: