有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    如果不使用Java8+,可以执行以下操作:

    List<String[]> list = new ArrayList<String[]>();
    
    list.add(new String[]{"Hello", "", null, "Jack"});
    list.add(new String[]{});
    
    for(String[] array : list){
        List<String> arrayList = new ArrayList<>(Arrays.asList(array));
        arrayList.removeAll(Collections.singleton(null));
        arrayList.removeAll(Collections.singleton(""));
        array = arrayList.toArray(new String[arrayList.size()]);
        System.out.println(Arrays.toString(array));
    }
    
  2. # 2 楼答案

    因为您有一个ArrayList<String[]>,所以可以使用^{}删除null中的List(或空)元素:

    list.removeIf(table -> table == null || table.length == 0);
    

    要从数组本身中删除null或空元素,必须在不使用它们的情况下重建数组:

    list.replaceAll(table -> Arrays.stream(table)
                                   .filter(Objects::nonNull)
                                   .filter(s -> !s.isEmpty())
                                   .toArray(String[]::new);