1. ホーム
  2. java

[解決済み] string.isEmpty()と"".equals(string)のどちらを使えばいいのでしょうか?

2022-04-22 22:34:40

質問

通常、このテストは string == null そのため、ヌルセーフのテストにはあまり関心がありません。どちらを使うべきでしょうか?

String s = /* whatever */;
...
if (s == null || "".equals(s))
{
    // handle some edge case here
}

または

if (s == null || s.isEmpty())
{
    // handle some edge case here
}

その点では isEmpty() 以外のことをしても return this.equals(""); または return this.length() == 0; ?

解決方法は?

の主な利点は、以下のとおりです。 "".equals(s) がないことです。 が必要です。 ヌルチェック( equals はその引数をチェックし false がNULLの場合)、これは気にしないようですね。もし、あなたが s がヌルである(またはそれをチェックしている)場合、私なら間違いなく s.isEmpty() 何をチェックしているのかが一目瞭然です。 s が空であるかどうかであって、空の文字列と等しいかどうかではない。