因此,我试图找到一种方法来将一个列表或某些东西('列表'不是'列表'的实际Java定义,而不是白话用法)放入数字中数组。它会这样:尝试将多个数字传入数组
Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);
随着后面的数字,然后进入数组在土地(忽略其他数字)。
是否有任何语法可以在飞行中执行此操作?我知道在Python中有元组,但Java中是否有这样的东西?
谢谢!
因此,我试图找到一种方法来将一个列表或某些东西('列表'不是'列表'的实际Java定义,而不是白话用法)放入数字中数组。它会这样:尝试将多个数字传入数组
Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);
随着后面的数字,然后进入数组在土地(忽略其他数字)。
是否有任何语法可以在飞行中执行此操作?我知道在Python中有元组,但Java中是否有这样的东西?
谢谢!
你的意思是这样的:
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);
编译器会将最后的三个值为你的数组。虽然没有使用空格的文字形式。
public Land(Integer int1, Integer... ints){}
你的意思是varags:http://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html
你可以改变你的构造采取int数组
int [] params = new int{1,2,3};
Land FlintsFinger = new Land(0,0,1,0,9, params);
你可以做这样的事情:
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)
,如果您输入的所有整数都是原始值的)
我不明白“与后者的数字,然后进入Land中的数组(忽略其他数字)“。逗号分隔符的存在或不存在意味着什么?你想要什么输出?你真的在问可变长度参数列表吗? ... – 2012-07-30 18:35:51
对不起,我没有完全清楚。所以最后三位数字在那里,因为我不知道如何处理它们。真正的原始代码只有前五位数字 - 我不知道该把最后三位数字放在里面或左右以便让它们被Land中的数组拾取,所以我排除了逗号。目前它没有用处。 – EML 2012-07-30 18:41:25
[在Java中使用元组]的可能重复(http://stackoverflow.com/questions/2670982/using-tuples-in-java) – Mez 2012-07-31 14:45:44