有没有办法使用数组而不将其实际分配给变量? 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});
}
}
因为当我现在尝试它时,我遇到了编译问题,好像编译器没有将实体识别为数组一样。
答案 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}