Java 包含空元素的 ArrayList 大小 []
Java ArrayList size with empty element []
我有一个 ArrayList,出于某种原因我必须添加空字符串元素 "":
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
当我读取数组列表 rList 的大小时,rList.size() == 1 和 rList.isEmpty() == false。
如何查看这种数组列表?空元素是否导致大小等于 1 而不是空?
即使您向列表中添加了一个空字符串,您仍然在向列表中添加一些东西。而且,这才是最重要的。
数据可能为空(甚至 null
,因为 ArrayList
将允许您插入 null
),但大小会增加(列表不会为空)。
现在,如果您只想检查列表中是否只有 sort 元素(如您在评论中所述),那么可以这样:
if(rList.size() == 1 && "".equals(rList.get(0)) {
// perform work
}
只有当列表中只有一个条目并且是空字符串时,上面的行才会成功。字符串文字和 get
的反转是为了防止 NullPointerException
,因为如果你将它翻转过来就会发生这种情况,并且元素 0 中有 null
。
检查字符串是否为空:
字符串 x = "";
布尔 isXEmpty = x.isEmpty();
是的,空字符串实例与任何其他字符串一样是有效实例。所以它会算。
要回答您的问题 How can I check this kind of array list?
,您可以通过遍历检查索引以查看您的 ArrayList 是否包含任何特定值。
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
for (String item : rList) {
if (item.equals("")) {
//do something
}
}
如果您要检查 ArrayList 的所有索引是否都是空字符串,一种方法是添加一个计数器并将其与 ArrayList 的大小进行比较。
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
rList.add("");
rList.add("");
int crossCheck = 0;
for (String item : rList) {
if (item == null) {//equals() will throw a NPE when checking for null values
//do something
} else if (item.isEmpty()) {
crossCheck++;
//do something
}
}
//both are 3 in this case
if (rList.size() == crossCheck) {
//all indices are empty Strings
}
Makoto 对你剩下的问题有很好的回答。
要检查空列表,请使用以下代码:
即使列表大小为 1,但其 get() 方法 return 为空。
这样你就可以确保实际列表没有价值。
if(someList.get(0)!=null)
我有一个 ArrayList,出于某种原因我必须添加空字符串元素 "":
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
当我读取数组列表 rList 的大小时,rList.size() == 1 和 rList.isEmpty() == false。
如何查看这种数组列表?空元素是否导致大小等于 1 而不是空?
即使您向列表中添加了一个空字符串,您仍然在向列表中添加一些东西。而且,这才是最重要的。
数据可能为空(甚至 null
,因为 ArrayList
将允许您插入 null
),但大小会增加(列表不会为空)。
现在,如果您只想检查列表中是否只有 sort 元素(如您在评论中所述),那么可以这样:
if(rList.size() == 1 && "".equals(rList.get(0)) {
// perform work
}
只有当列表中只有一个条目并且是空字符串时,上面的行才会成功。字符串文字和 get
的反转是为了防止 NullPointerException
,因为如果你将它翻转过来就会发生这种情况,并且元素 0 中有 null
。
检查字符串是否为空: 字符串 x = ""; 布尔 isXEmpty = x.isEmpty();
是的,空字符串实例与任何其他字符串一样是有效实例。所以它会算。
要回答您的问题 How can I check this kind of array list?
,您可以通过遍历检查索引以查看您的 ArrayList 是否包含任何特定值。
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
for (String item : rList) {
if (item.equals("")) {
//do something
}
}
如果您要检查 ArrayList 的所有索引是否都是空字符串,一种方法是添加一个计数器并将其与 ArrayList 的大小进行比较。
ArrayList<String> rList = new ArrayList<String>();
rList.add("");
rList.add("");
rList.add("");
int crossCheck = 0;
for (String item : rList) {
if (item == null) {//equals() will throw a NPE when checking for null values
//do something
} else if (item.isEmpty()) {
crossCheck++;
//do something
}
}
//both are 3 in this case
if (rList.size() == crossCheck) {
//all indices are empty Strings
}
Makoto 对你剩下的问题有很好的回答。
要检查空列表,请使用以下代码: 即使列表大小为 1,但其 get() 方法 return 为空。 这样你就可以确保实际列表没有价值。
if(someList.get(0)!=null)