使用未附加到变量的数组

时间:2013-09-02 15:14:20

标签: java arrays

有没有办法使用数组而不将其实际分配给变量? e.g。

for (int numb: {1,2,3,4,5,6}){
    System.out.println(number);
}

public class TestArrays{
   public static void doStuff(double[] doubles){
       //doStuff
   }
   public static void main(String[] args){
       doStuff({1,2,3,4,5,6,7});
   }
}

因为当我现在尝试它时,我遇到了编译问题,好像编译器没有将实体识别为数组一样。

4 个答案:

答案 0 :(得分:5)

是的,就像这样:

for (int number : new int[]{1, 2, 3, 4, 5, 6}) {
    System.out.println(number);
}

doStuff(new double[]{1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0});

答案 1 :(得分:2)

请考虑使用varargs传递可变数量的参数

public static void doStuff(double... doubles){
       //doStuff
}

并致电

doStuff(1,2,3,4,5,6,7);

您可以使用Arrays.asList的varargs进行for循环

for (int number: Arrays.asList(1,2,3,4,5,6)) {
   System.out.println(number);
}

答案 2 :(得分:1)

为了完整起见,此属性不仅仅是原始数组。因为在Java中,数组也是对象,所以可以使用任何对象执行此操作。

doStuff(new String("Dave"));
doStuff(new Car("Ford"));

这被称为匿名对象,并且不时会产生一些不错的代码,尽管滥用会导致代码难以理解。明智地使用!

答案 3 :(得分:0)

尝试

new int[] {1,2,3,4,5,6,7}

而不仅仅是

{1,2,3,4,5,6,7}