簡體   English   中英

使用length()而不是equals()檢查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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM