Java - 在没有for循环的情况下对数组的所有值调用方法

时间:2014-04-25 00:44:53

标签: java arrays

是否有任何综合方法可以在数组中的每个值上调用方法而无需创建for循环?这似乎很简单,但我找不到任何东西。

例如:

class Foo{
    public static void main(String[] args){

        String[] arr = {"1","2","3"};
        int[] intarr = new int[arr.length];

        for(int i = 0; i < arr.length; i++){
            intarr[i] = Integer.parseInt(arr[i]);
        }
    }
}

没有for循环有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

取决于您的Java版本:

Pre Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
Iterator<String> itr = lis.iterator();
while(itr.hasNext()) {
    String next = itr.next();
    //work with next
}

对于Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
lis.stream().forEach((s) -> {
    //work with s
});

考虑到你可以很容易地做你在OP中描述的内容,这两者都是愚蠢而毫无意义的。 for循环是编程概念的一个组成部分,你不能真正避免它们。