繁体   English   中英

如何检查数组中的下一个元素是否为空-Java

[英]How to check If the next element in an array is null - Java

我正在创建一个很大的多类程序,只需要找出数组中的下一个元素是否存在于我的一个方法中即可。 (即,如果i是最后一个元素)。

我的代码:

if (eMessageArray[i + 1] != null) {
    temp = stringShuffle(eMessageArray[i], eMessageArray[i + 1]);
    eMessageArray[i] = temp;
} else if (eMessageArray[i + 1] == null) {
    temp = stringShuffle(eMessageArray[i], "NULL");
    eMessageArray[i] = temp;
}

问题在于,当i指向数组的最后一个元素时,则没有元素i+1 ,因为数组不够长。 解决方案是停止在倒数第二个索引处使用i进行迭代,以使i+1始终是有效索引。 这是通过...length - 1 ,如下所示:

for (int i = 0; i < eMessageArray.length - 1; i++) { // important: - 1 to omit last index for i
    if (eMessageArray[i+1]!=null){
        temp = stringShuffle(eMessageArray[i], eMessageArray[i+1]);
    } else {
        temp=stringShuffle(eMessageArray[i], "NULL");
    }
    eMessageArray[i]=temp;
}

通常,当尝试越界访问数组索引时,可能会出现一些垃圾值,这些值虽然不是null却无意义被访问。 如果要使用数组,则需要定义数组的bounds &&在迭代内部为边界范围提供该检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM