4

サーバーからリストを取得するリストがあります。このリストには、サーバーがデータベースで見つけたものがすべて保持されます。

List<OBJ> lstObj = new Arraylist<OBJ>;

Service.getOBJ(new AsyncCallback<List<OBJ>>(){
    @Override
    public void onFailure(Throwable caught) {
        caught.printStackTrace();
    }

    @Override
    public void onSuccess(List<OBJ> result) {
        //line to check if result is null
    }
});

私が試してみました

if(result==null){
}

そしてまた試した

if(result.isempty(){
}

しかし、それは機能しませんでした。サーバーがデータベースからレコードを見つけられない場合、リストはnullになります。私がする必要があるのは、リストが空かどうかを確認することだけです。

4

5 に答える 5

20

リストが空かどうかを確認することと、リストが null であるかどうかを確認することresultは、まったく異なるものです。

if (result == null)

の値がresultnull 参照であるかどうか、つまりどのリストも参照していないかどうかを確認します。

if (result.isEmpty())

の値がresult空のリストへの参照であるかどうかを確認します...リストは存在しますが、要素がありません。

resultもちろん、 null空かどうかわからない場合は、次のようにします。

if (result == null || result.isEmpty())
于 2013-01-29T07:02:13.103 に答える
6

結果のリストの要素数を確認します。

if (0==result.size()) {

    // Your code
}
于 2013-01-29T07:03:23.410 に答える
4

次のようにします。

if (test != null && !test.isEmpty()) { }

これは、null と空の両方をチェックします。つまり、null でも空でもない場合は処理を行います。

于 2013-01-29T07:02:58.200 に答える
2

サーバーをまだ検証していないのであれば、このプログラミングのことは明らかに初めてなので、サーバーで何が起こっているのかを推測しようとしています. "" オブジェクトが何であるかによっては、さまざまな方法で無意味なデータを表す有効なオブジェクトを持つことができます。たとえば、さまざまな種類の空白を含む String オブジェクトがあるとします。

これは、PHP および JSP を使用して応答を提供するサーバーでよく発生します。ページは、さまざまなインクルード メカニズムを使用して組み立てられ、それらの間に空白があります。

于 2013-01-29T07:16:20.790 に答える
0

以下はあなたのコードに対して行うべきです。否定ロジックが必要な場合は、それに応じて変更してください。また、誰かによって示唆されているように、 CollectionUtils は、そのようなnullチェックLOCを削除するユーティリティメソッドのみを提供します。

result == null || result.isEmpty() 

お役に立てれば!

于 2013-01-30T10:53:19.060 に答える