Java检查array []项是否存在

时间:2012-10-15 14:18:36

标签: java arrays

我正在将一些数据下载到String数组中。我们说ImageLinks。 如何检查数组中的项是否存在?

我正在尝试

if(ImageLinks[5] != null){}

但它给了我ArrayIndexOutOfBoundsException。 (因为数组中确实没有5个链接)

6 个答案:

答案 0 :(得分:34)

要阻止ArrayIndexOutOfBoundsException,您可以使用以下内容:

if(ImageLinks.length > 5 && ImageLinks[5] != null)
{
    // do something
}

当从左到右检查if中的语句时,如果数组的大小不正确,则不会进行空检查。

对任何情况都很容易概括。

答案 1 :(得分:5)

在执行查找之前确保数组具有该长度

if(ImageLinks.length > 5 && ImageLinks[5] != null){}

答案 2 :(得分:5)

编写静态函数

public static boolean indexInBound(String[] data, int index){
    return data != null && index >= 0 && index < data.length;
}

现在,在你的代码中给它打电话

if(indexInBound(ImageLinks, 5) && ImageLinks[5] != null){
   //Your Code
}

答案 3 :(得分:1)

它失败的原因是数组少于6个元素。

首先检查数组中是否有正确的元素数,然后检查数组中是否存在元素。

 if (ImageLinks.length > 5 && ImageLinks[5] != null) {
     // do something
 }

答案 4 :(得分:0)

是的,少于6个元素 ImageLinks [5]引用第6个元素,因为java中的数组索引从0开始

答案 5 :(得分:0)

if (ImageLinks != null && Stream.of(ImageLinks).anyMatch(imageLink-> imageLink != null)) {
//An item in array exist
}