我有一个ArrayList,由于某种原因我必须添加空字符串元素"":
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
Run Code Online (Sandbox Code Playgroud)
当我读取数组列表rList的大小时,rList.size()== 1和rList.isEmpty()== false.
我该如何检查这种数组列表?空元素导致大小等于1而不是空吗?
即使你要添加一个空字符串到您的列表,你仍然添加的东西到列表中.而且,重要的是.
数据可能为空(或者甚至null是ArrayList允许您插入的数据null),但是大小会增加(并且列表不会为空).
现在,如果您只想检查列表中是否只有那种元素(正如您在注释中所述),那么这可能是这样的:
if(rList.size() == 1 && "".equals(rList.get(0)) {
// perform work
}
Run Code Online (Sandbox Code Playgroud)
如果列表中只有一个条目,并且只有它是空字符串,则上述行才会成功.字符串文字的反向并且get是为了防止a NullPointerException,因为如果你将它翻转为另一种方式可以发生,那就是null元素0.