Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从列表中删除空/空元素_Java_Java 8 - Fatal编程技术网

Java 从列表中删除空/空元素

Java 从列表中删除空/空元素,java,java-8,Java,Java 8,您好,我一直在尝试从列表中删除空/空元素,尝试了多种方法。不确定我是否遗漏了什么 public String getString() { List<String> result = new ArrayList<>(); List<String> string1 = getDateResult(); List<String> string2 = getStringResult(); List<Strin

您好,我一直在尝试从列表中删除空/空元素,尝试了多种方法。不确定我是否遗漏了什么

    public String getString() {
    List<String> result = new ArrayList<>();

    List<String> string1 = getDateResult();
    List<String> string2 = getStringResult();
    List<String> string3 = getNumberResult();
    List<String> string4 = getBookResult();

    result.add(string1);
    result.add(string2);
    result.add(string3);
    result.add(string4);

    // below are the things I already tried doesnt work 
    result.removeIf(List::isEmpty);
    result.removeAll(Arrays.asList(null,""));

    return result;
    }
公共字符串getString(){
列表结果=新建ArrayList();
List string1=getDateResult();
List string2=getStringResult();
List string3=getNumberResult();
List string4=getBookResult();
结果。添加(1);
结果。添加(string2);
结果。添加(3);
结果。添加(第4行);
//下面是我已经尝试过但不起作用的东西
result.removif(列表::isEmpty);
result.removeAll(Arrays.asList(null)(“”));
返回结果;
}
示例输入


2020-08-10,您好,Book1-->无法删除空字符串。

如果要删除列表中的空列表或空列表
List

或者,如果要从内部列表中删除null或空元素

result.forEach(list->list.removeIf(ele->ele==null || ele.isEmpty()));

如果要将一个列表添加到另一个列表中,请使用
addAll(..)
方法

这假设创建
string1、string1
列表的任何方法都不会返回
null

result.addAll(string1); result.addAll(string2); ...
由于
result
是一个
列表
,您现在可以使用
removeIf
方法从
result
中删除任何无效字符串


如果您愿意使用Apache utils,则可以使用
StringUtils.isBlank(str)

result.forEach(list->list.removeIf(ele->ele==null | | ele.isBlank());这似乎不正确@deadpool你什么意思不正确?你能展示一个输入和输出@ICeCool09的例子吗?可能是因为
isBlank
不是Java-8的一部分。我使用了“Stream.concat(Stream.concat(string1.Stream(),string2.Stream()),string3.Stream(),string4.Stream)。collector(Collectors.toList())”你不能将
列表添加到
列表中。此代码在标记行之前已失败。
result.addAll(string1); result.addAll(string2); ...