1

次のコードを使用して、文字列が空かどうかを確認しています

if( !Index2.toString().isEmpty()){
  ....
}

しかし、次のエラーが発生します

java.lang.NullPointerException
4

7 に答える 7

4

変数Index2にはnull値があります。そのため、エラーが発生します。具体的には、エラーは次のとおりです。

Index2.toString()

Index2変数が と異なると仮定するとnull、コードは機能します。コードを機能させるには、Index2が と異なることを検証するか、を処理するブロックをnull追加します。try/catchNullPointerException

最初の方法:

if( Index2 != null && !Index2.toString().isEmpty()){
    //...
}

2 番目の方法:

try {
    if( !Index2.toString().isEmpty()){
      //...
    }
} catch (NullPointerException npe) {
    //handle the Exception...
}

IMHO私は最初の方法を使用します。

于 2012-10-12T06:39:14.793 に答える
3

文字列が null でないことを確認し、文字列に空のスペースがあるかどうかを確認します。myString.isEmpty() は false を返します。上記のケースを考慮してください:

  if (myString != null && myString.trim().length() != 0 ) 
               return true;
于 2013-05-03T06:59:16.523 に答える
2

apache.commonsパッケージにはStringUtilsクラスがあり、次のような便利なメソッドがたくさんあります。

StringUtils.isEmpty(theString)

これは、!= nullとisEmptyの両方の比較を行い、見栄えが良くなります。

于 2012-10-12T06:42:50.637 に答える
2

ヌルもチェック。

if( Index2!=null && !Index2.toString().isEmpty()){
  ....
}
于 2012-10-12T06:39:48.787 に答える
0

これはあなたがあなたのケースのために空をチェックするべき方法です:

 if( Index2 == null || Index2.toString() == null || 
     Index2.toString().length() == 0)
     // it is empty
于 2012-10-12T06:40:31.293 に答える
0

次のコードを使用します。

if(Index2!=null){
  if( !Index2.toString().isEmpty()){
    ....
  }
}
于 2012-10-12T06:41:07.283 に答える