试图将多个数字传递给数组

时间:2012-07-30 18:23:03

标签: java arrays list int

所以,我正试图找到一种方法来将数字列表或某些内容('list'不是数字的'list'的实际Java定义,而不是白话用法)放入数组中。它会是这样的:

Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);

使用后面的数字然后进入Land中的数组(忽略其他数字)。

是否有任何语法可以动态执行此操作?我知道在Python中有元组,但Java中有没有这样的东西?

谢谢!

4 个答案:

答案 0 :(得分:2)

你的意思是:

public class Land {

    private final int[] values;

    public Land(int... values) {
        this.values = values;
    }
}

或者如果前五个参数意味着别的东西:

public Land(int a, int b, int c, int d, int e, int... values) {
    this.values = values;
}

然后将其称为:

new Land(0,0,1,0,9, 1, 2, 3);

编译器会将最后三个值放入一个数组中。虽然没有使用空格的文字形式。

答案 1 :(得分:1)

你可以这样做:

Land FlintsFinger = new Land(0,0,1,0,9, new int[]{1, 2, 3});

或者您可以将构造函数更改为:

public Land(int fst, int scn, int thr, int frth, int ffth, int... vals){}

并用

调用它
Land FlintsFinger = new Land(0,0,1,0,9,1,2,3);

(如果您输入的所有原始值都是整数,则您的构造函数可以缩短为public Land(int... vals)

答案 2 :(得分:0)

public Land(Integer int1, Integer... ints){}

你的意思是varags:http://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html

答案 3 :(得分:0)

您可以更改构造函数以获取整数数组

int [] params = new int{1,2,3};
Land FlintsFinger = new Land(0,0,1,0,9, params);