java - 从java数组中删除空值

标签 java arrays

我正在尝试从 csv 字符串转换而来的数组中删除空值。

这就是我正在尝试做的事情。

public class ArrayTest {

    public static void main(String[] args) {

        String commaSeparated = "item1,null,item1,null,item3";
        String [] items = commaSeparated.split(",");

        String[] result = removeNull(items);

        System.out.println(Arrays.toString(result));
    }

     public static String[] removeNull(String[] items) {
            ArrayList<String> aux = new ArrayList<String>();
            for (String elem : items) {
                if (elem != null) {
                    aux.add(elem);
                }
            }

            return (String[]) aux.toArray(new String[aux.size()]);
        }

}

我仍然得到如下输出,其中仍然有空值。你能指出我这有什么问题吗

[item1, null, item1, null, item3]

最佳答案

您的 removeNulls() 方法实际上会删除 null String,但请记住,当您执行 String.split 时,您实际上是在创建一个非 null String,其值恰好为“null”。

所以改变这个...

if (elem != null) {

对此,要解释“null”...

if (elem != null && !elem.equalsIgnoreCase("null")) {

关于java - 从java数组中删除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34517379/

相关文章:

java - 需要在Java类中使用此方法( Kotlin )

java - MapReduce中的排序

java - 生成ansi sql INSERT INTO

javascript - 从二维数组中获取img src和img维度并显示在body中

C++ 二维数组搜索错误

C 随机数组中的最大值,无法正常工作

java - 使用 Java 输出 Google 自定义搜索解析后的 JSON 结果

arrays - 在 Angular 6 页面中显示来自 API 的值

c# - 数组不会超过 14

java - 如何设置空白单元格的颜色