我正在尝试从 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/