如何检查List <obj>是否为空?</obj>

时间:2013-01-29 07:00:47

标签: java list

我有一个从我的服务器获取列表的列表。此列表将保存服务器在数据库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(){
}

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

5 个答案:

答案 0 :(得分:20)

检查列表为空并检查result是否为空是非常不同的。

if (result == null)

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

if (result.isEmpty())

将查看result的值是否是对空列表的引用... 列表是否存在,它只是没有任何元素。

当然,如果您不知道result是否为null 为空,请使用:

if (result == null || result.isEmpty())

答案 1 :(得分:6)

检查结果列表中的元素数量:

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

    // Your code
}

答案 2 :(得分:4)

你会这样做:

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

这将检查null和empty,这意味着如果它不为null且不为空,则进行处理。

答案 3 :(得分:2)

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

在使用PHP和JSP提供答案的服务器上发生了很多事情,其中​​页面使用各种包含机制进行汇编,并且它们之间存在空白。

答案 4 :(得分:0)

以下内容适用于您的代码。如果你想要一个否定逻辑,只需相应地修改。 正如有人建议的那样,CollectionUtils只提供实用程序方法来删除这种空检查LOC。

result == null || result.isEmpty() 

希望这有帮助!