好的,所以我有一个程序,它设置一个带有值的数组,然后在程序执行时请求它们。
int[] foo = new int[10]; //init array
//also added a getter and setter for this array
setFoo(fooLocal); //setter being implemented
现在在我的代码的另一部分我想使用for循环访问这些值,但似乎这不会真正起作用,因为你真的没有地方可以放置for的值环。
for (x = 0; x < getFoo().length; x++){
//this is where i get a bit confused
getFoo(x); //im not really sure what to do here?
}
这个答案可能很简单,但我还没有遇到类似的事情。请帮助或参考将是非常感谢你:))
答案 0 :(得分:3)
假设getFoo()返回一个数组foo
(这似乎是你的for循环语句的情况),你可以访问x
的索引foo
:
int a = getFoo()[x];
从那里,您可以像使用任何其他int一样使用a
。
这虽然效率稍低,尤其是getFoo()
必须进行任何类型的计算。稍微更有效的方法是在开始for循环之前获取对foo
的引用:
int[] foo = getFoo();
for(int x = 0; x < foo.length; x++){
int a = foo[x];
//do stuff with a
}
更简洁地说,你可以使用for-each循环来简单地依次得到foo
的每个元素而不用担心索引。但是,如果确实需要索引值,这种方法就不那么诱人了。
for(int a : getFoo()){
//do stuff with a
}