![](/img/trans.png)
[英]Checking for empty string using .equals(), .isEmpty() and .length() in Java
[英]length() instead of equals() to check empty string in java
如果我們使用length()而不是equals()來檢查Java中的空字符串,則代碼優化是否有任何區別?
public boolean isEmpty(String str)
{
return str.equals(""); //NEVER do this
}
public boolean isEmpty(String str)
{
return str.length()==0; //Correct way to check empty
}
是真的嗎?
您可以使用str.isEmpty()
,在內部檢查長度。
這是String
類的實現:
public int length() {
return count;
}
public boolean isEmpty() {
return count == 0;
}
您可以看到isEmpty()
將長度與0進行比較。
是的,至少在OpenJDK 64-Bit Server VM
上檢查長度會更快。 根據我的測量,僅需要大約66%
的equals("")
來檢查length() == 0
。
話雖如此,您的程序效率低下幾乎可以肯定在其他地方。
內置的isEmpty
是一個不錯的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.