如何知道ArrayList中的指定对象是否为空?

时间:2011-07-04 07:47:37

标签: java null arraylist

我想知道ArrayList中的Object是否为null。如果它为null,那么它不应该做任何事情。例如:

if(!(theList.get(theIndexofObject) == null)){
   do something...
}
else{
   do nothing...
}

这不起作用,因为它会引发'.get()' - 方法的异常原因。有什么想法可以解决这个问题吗?

7 个答案:

答案 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...
}