在Java編程中,判斷一個字符串是否以指定的後綴結尾是一種常見的需求。Java提供了endsWith()方法來幫助我們完成這個任務。這個方法能夠檢查一個字符串是否以指定的後綴結尾,並返回一個布爾值。
一、endsWith()方法的語法和說明
public boolean endsWith(String suffix)
endsWith()方法的唯一參數是一個字符串類型的後綴,它表示我們需要檢查的結尾是否與這個後綴匹配。
endsWith()方法的返回值是一個布爾值,它指示這個字符串是否以指定的後綴結尾。如果一個字符串以指定的後綴結尾,則返回true;否則返回false。
二、endsWith()方法的使用示例
接下來,讓我們看一些使用endsWith()方法的簡單示例。
示例1:
String str1 = "Hello World!"; boolean result1 = str1.endsWith("World!"); System.out.println(result1); // true
在這個示例中,我們創建了一個字符串”Hello World!”,並使用endsWith()方法來檢查它是否以”World!”結尾。由於結尾與指定的後綴匹配,結果返回true。
示例2:
String str2 = "Java is awesome"; boolean result2 = str2.endsWith("Java"); System.out.println(result2); // false
在這個示例中,我們創建了一個字符串”Java is awesome”,並使用endsWith()方法來檢查它是否以”Java”結尾。由於結尾並不與指定的後綴匹配,結果返回false。
三、endsWith()方法的實現原理
接下來,我們來探討一下endsWith()方法的實現原理。
endsWith()方法的實現方式很簡單。它首先計算指定後綴的長度,然後將這個長度與字符串的長度比較。如果字符串長度小於等於後綴長度,則返回false。否則,它從字符串的末尾開始向前迭代,檢查字符串中的每個字符是否與指定後綴中的對應字符相同。如果遇到不匹配的字符,則返回false。如果沒有不匹配的字符,則返回true。
下面是endsWith()方法的基本實現代碼:
public boolean endsWith(String suffix) { int suffixLength = suffix.length(); int thisLength = value.length; if (suffixLength > thisLength) { return false; } int offset = thisLength - suffixLength; for (int i = suffixLength - 1; i >= 0; i--) { if (value[offset + i] != suffix.charAt(i)) { return false; } } return true; }
四、endsWith()方法的注意事項
在使用Java的endsWith()方法時,有一些注意事項需要記住:
- endsWith()方法是區分大小寫的。也就是說,如果要檢查的後綴是”java”,而字符串結尾是”Java”,endsWith()方法會返回false。
- endsWith()方法只能用於檢查一個字符串是否以指定的後綴結尾,不能用於檢查一個字符串是否包含指定的子字符串。如果要檢查字符串是否包含指定的子字符串,應該使用contains()方法。
- endsWith()方法不能用於檢查一個字符串是否以多個後綴中的任意一個結尾。如果要檢查這種情況,應該使用循環,對字符串中的每個後綴逐一進行檢查。
五、總結
endsWith()方法是Java字符串類提供的一個用於檢查字符串結尾的方法。它能夠檢查一個字符串是否以指定的後綴結尾,並返回一個布爾值。它的實現方式很簡單,它首先計算指定後綴的長度,並將這個長度與字符串的長度比較。如果字符串長度小於等於後綴長度,則返回false。否則,它從字符串的末尾開始向前迭代,檢查字符串中的每個字符是否與指定後綴中的對應字符相同。如果遇到不匹配的字符,則返回false。如果沒有不匹配的字符,則返回true。
六、參考資料
- Java String endsWith()方法 – 實例、參數和執行結果:https://www.journaldev.com/17780/java-string-endswith-method
- Java String類:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/195450.html