我们有一个数组列表,其中包含TestVo对象。 TestVo对象具有带有getter和setter的“ blockNo,buildingName等”变量。我们正在设置值并将该对象添加到列表中。现在我们需要从列表中删除包含空值的对象。
样例代码:

List <TestVo> listOfBranches = new ArrayList<TestVo>();
TestVo obj1 = new TestVo();
obj1.setBlockNo("1-23");
obj1.setBuildingName(null);
TestVo obj2 = new TestVo();
obj2.setBlockNo(null);
obj2.setBuildingName("test");
TestVo obj3 = new TestVo();
obj3.setBlockNo("4-56");
obj3.setBuildingName("test, Ind");
listOfBranches.add(obj1);
listOfBranches.add(obj2);
listOfBranches.add(obj3);


因此,最后我们如何从列表中删除包含空值的对象。

最佳答案

使用Java 8流API,

  listOfBranches = listOfBranches
            .stream()
            .filter(candidate -> candidate.getBlockNo() != null)
            .collect(Collectors.toList());


可以为您完成工作。

否则,请使用迭代器:

    Iterator it = myList.iterator();
    while(it.hasNext()) {
        if (it.next().getBlockNo() == null) {
            it.remove();
        }
    }

07-24 22:25