为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 ArrayList 中排除空元素?

如何从 ArrayList 中排除空元素?

慕斯709654 2021-08-19 21:14:05
//This code for mapping the elements inside xml tag  public static String getLeukemiaInvolvement(String val) {    BiMap<String, String> map = HashBiMap.create();    map.put("01", "6");    map.put("02", "7");    map.put("03", "8");    map.put("04", "9");    map.put("05", "3");    return map.inverse().get(val);}for (String data : getListStringValForElementTag(element, "organ-involvement1")) {        if(data != null) {            sectionAmlAllMds.getOrganInvolvement1().add(Pris3BMdmMapper.getLeukemiaInvolvement(data));        }    }如何确保我的输出不包含空元素?我已经对空元素进行了检查,但它不起作用。我的输出是: "organInvolvement1": ["01", "04", null, null, "05"]此代码将读取 XML 标记“organ-involvement1”内的元素数组列表:getListStringValForElementTag(element, "organ-involvement1")谢谢
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

看起来在这种情况下,data不是 null 但它的值是null。试试这个:-


if(data != null && Pris3BMdmMapper.getLeukemiaInvolvement(data) != null) {

...

}


查看完整回答
反对 回复 2021-08-19
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您可以编写一个实用方法来从集合中排除空值:


static void removeNulls(Collection<?> c) {

    while(c.remove(null)) {

        // Do Nothing

   }

}

然后,在需要从集合中删除 exclude 元素时调用它:


public static void main(String[] args) {

    List<String> colors = new ArrayList<>(); 

    Collections.addAll(colors, "red", null, "blue", "green", null);

    removeNulls(colors);

    System.out.println(colors);

}


查看完整回答
反对 回复 2021-08-19
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您还可以覆盖该add方法。但它可能会过度设计:


List<String> list = new ArrayList<String>() {

            @Override

            public boolean add(String e) {

                if (e == null) return false;

                return super.add(e);

            }

        };


查看完整回答
反对 回复 2021-08-19
  • 3 回答
  • 0 关注
  • 262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信