我有一个从我的服务器获取列表的列表。此列表将保存服务器在数据库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。我需要做的就是检查列表是否为空。
答案 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()
希望这有帮助!