我想知道ArrayList中的Object是否为null。如果它为null,那么它不应该做任何事情。例如:
if(!(theList.get(theIndexofObject) == null)){
do something...
}
else{
do nothing...
}
这不起作用,因为它会引发'.get()' - 方法的异常原因。有什么想法可以解决这个问题吗?
答案 0 :(得分:4)
使用列表中的contains()
方法:
boolean contains(Object o)
答案 1 :(得分:3)
您可能对如何使用API感到困惑。这是一个简单的例子:
import java.util.ArrayList;
import java.util.List;
public class NullItems {
public static void main(String[] args) {
List<Object> items = new ArrayList<Object>();
items.add("foo");
items.add(null);
items.add(25);
for (int i = 0; i < items.size(); i++) {
Object item = items.get(i);
if (item != null) {
System.out.println(item);
}
}
// or shorter:
for (Object item : items) {
if (item != null) {
System.out.println(item);
}
}
}
}
答案 2 :(得分:1)
您使用的get
方法错误。您需要将项目所在的索引传递给get
方法。您可以使用contains
方法查看对象是否在ArrayList中。
示例:
if(theList.contains(theObject))
//do something
否则你可以使用一个看起来令人困惑和难以阅读的尝试和捕获,所以我强烈建议不要做以下但是已经包含它来向你展示:
for(int i=0; i<theList.size(); i++)
{
try
{
if(!(theList.get(i) == null))
{
//do something
}
else
{
//do nothing
}
}
catch(NullPointerException npe)
{
//do something else
}
}
或者使用for-each循环。
答案 3 :(得分:0)
在javaScript itemArray.length中,对于java,你必须使用ARRAY.size()而不是length函数
var itemArray=//Assign some list of value;
for (var i = 0; i < itemArray.length; i++){
if(itemArray[i].value == null){
Do nothing
}else{
Do something
}
}
答案 4 :(得分:0)
我认为你的arraylist是无效的第一个条件:
if(theList!=null && !(theList.get(theIndexofObject) == null)){
// do something...
}
else{
// do nothing...
}
答案 5 :(得分:0)
方法arrayList.size()返回列表中的项目数 - 因此,如果索引大于或等于size(),则它不存在。
答案 6 :(得分:-2)
if(!(theList.get(theIndexofObject) == null)){
do something...
}
else{
do nothing...
}
而不是编写此代码。尝试以下格式,我想你会得到答案
if(theList.get(theIndexofObject)!= null)){
do something...
}
else{
do nothing...
}