我有一个充满数字的字符串数组。默认情况下,数组中的任何未设置元素都将为null
。然后我循环遍历此数组,将字符串解析为int
值,但是当循环到达NumberFormatException
元素时,我会遇到null
。< / p>
我事先并不知道数组中有多少个数字,所以我使用大数组来确保有足够的空间来容纳所有字符串。
如何在循环到达null
元素之前停止循环?
for (int x = 1 ; x < array1.length ; x++){
int newnode = Integer.parseInt(array1[x]);
//searching in matrix
// do other stuff
}
答案 0 :(得分:1)
如果您不知道每次都要提前处理的元素数量,那么请使用动态大小的集合而不是固定大小的数组。
更改填充您的收藏集的代码,使用List<String>
代替String[]
。列表是动态调整大小的,并且会随着向其添加更多元素而不断增长。迭代时不会返回任何null
元素,除非您首先专门添加它们,因此您的代码永远不会尝试解析null
值。
然后,此更改将允许您像这样迭代List:
for (String number : array1) { // You might want to rename array1 to something meaningful...
int newNode = Integer.parseInt(number);
// Do other stuff
}
如果需要,您仍然可以维护一个单独的索引变量,它只是手动声明和递增,而不是作为循环结构的一部分。
答案 1 :(得分:-1)
我认为这是真的:
{{1}}