我正在将一些数据下载到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从左到右检查语句,如果数组的大小不正确,则无法进行空检查.
对于任何场景来说,很容易概括.
在进行查找之前确保数组具有该长度
if(ImageLinks.length > 5 && ImageLinks[5] != null){}
Run Code Online (Sandbox Code Playgroud)
写一个静态函数
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)