Java检查array []项是否存在

art*_*ros 18 java arrays

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

我在尝试

if(ImageLinks[5] != null){}
Run Code Online (Sandbox Code Playgroud)

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

Baz*_*Baz 33

要防止这种情况ArrayIndexOutOfBoundsException,您可以使用以下内容:

if(ImageLinks.length > 5 && ImageLinks[5] != null)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

由于if从左到右检查语句,如果数组的大小不正确,则无法进行空检查.

对于任何场景来说,很容易概括.

  • 这失败了,长度为5的数组......;) (4认同)

kos*_*osa 5

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

if(ImageLinks.length > 5 && ImageLinks[5] != null){}
Run Code Online (Sandbox Code Playgroud)


Viv*_*vek 5

写一个静态函数

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

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

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