[英]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.