如果你想避免数组操作时的常见错误,并且不想在数组中移动或删除元素,这里提供一种使用 List
的解决方案,可能会稍微啰嗦一些:
import java.util.ArrayList;
import java.util.List;
public class RemoveNullValue {
public static void main( String args[] ) {
String[] firstArray = {"test1", "", "test2", "test4", "", null};
List<String> list = new ArrayList<String>();
for(String s : firstArray) {
if(s != null && s.length() > 0) {
list.add(s);
}
}
firstArray = list.toArray(new String[list.size()]);
}
}
添加了null
以展示空字符串实例(""
)与null
之间的区别。
由于这个回答已经大约4.5年了,我添加了一个Java 8的例子:
import java.util.Arrays;
import java.util.stream.Collectors;
public class RemoveNullValue {
public static void main( String args[] ) {
String[] firstArray = {"test1", "", "test2", "test4", "", null};
firstArray = Arrays.stream(firstArray)
.filter(s -> (s != null && s.length() > 0))
.toArray(String[]::new);
}
}
null
与“空字符串”完全不同。这是你的第一个问题。 - JSBձոգչ