[英]Any scenario in which String.isEmpty() returns true and String.isBlank() returns false for the same input?
String.isBlank()
等同於String.isEmpty() + *whitespace only check*
嗎? 在查看String.isBlank()
的源代碼時,它會在長度為零時返回 true。 但我想知道是否存在isEmpty()
返回true
並且isBlank()
對於相同輸入返回false
任何場景。
文檔說isEmpty()
:
當且僅當 length() 為 0 時返回 true。
isBlank()
的文檔:
如果字符串為空或僅包含空白代碼點,則返回true ,否則返回 false。
強調我的。
所以isBlank()
似乎也涵蓋了isEmpty()
所有情況。
只存在一個字符串,其中isEmpty()
返回true
,即空字符串""
。 如果提供空字符串作為參數,則isBlank()
返回true
。
所以:沒有。 不存在isEmpty()
返回 true 且isBlank()
返回 false 的情況。
如果是這樣,則它是一個軟件錯誤,前提是文檔描述了預期的行為。 否則你得問問薛定諤。
至少有一個輸入, isEmpty()
和isBlank()
產生相反的結果,那就是一個空格:
public class MyClass {
public static void main(String args[]) {
String s = " ";
System.out.println("isBlank: "+s.isBlank());
System.out.println("isEmpty: "+s.isEmpty());
}
}
輸出:
isBlank: 真
isEmpty: 假
isBlank()
返回 false 並且isEmpty
返回 true 的相反情況不會發生,因為根據文檔, isBlank()
僅在字符串為空或僅包含空白代碼點時返回 true,並且isEmpty()
返回 true,如果,並且僅當length()
為 0 時。並且不存在length()
為 0 的字符串不被視為空白的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.