4

我有一个从我的服务器获取列表的列表。该列表将保存服务器在数据库 ex 中找到的任何内容。

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(){
}

但它没有用。如果服务器未从数据库中找到任何记录,则该列表将为空。我需要做的就是检查列表是否为空。

4

5 回答 5

20

检查列表是否为和检查是否result为空是非常不同的事情。

if (result == null)

将查看的值result是否为空引用,即它不引用任何列表。

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 和空,这意味着如果它不为空且不为空,则进行处理。

于 2013-01-29T07:02:58.200 回答
2

如果你还没有验证你的服务器,那么你显然是这个编程的新手,所以我试图猜测你的服务器可能会发生什么。根据您的“”对象是什么,您可以拥有以不同方式表示无意义数据的有效对象。例如,您可能拥有带有各种空格的 String 对象。

这在使用 PHP 和 JSP 提供答案的服务器上经常发生,其中页面是使用各种包含机制组装的,并且它们之间存在空白。

于 2013-01-29T07:16:20.790 回答
0

下面应该为您的代码做。如果你想要一个否定逻辑,只需相应地修改。正如其他人所建议的那样,CollectionUtils 仅提供删除此类空检查 LOC 的实用程序方法。

result == null || result.isEmpty() 

希望这可以帮助!

于 2013-01-30T10:53:19.060 回答