所以,我试图找到一种方法将数字的列表或其他东西(“列表”不是“列表”的实际 Java 定义,而是白话用法)放入数组中。它会是这样的:
Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);
然后后面的数字进入 Land 中的数组(忽略其他数字)。
是否有任何语法可以即时执行此操作?我知道在 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);
编译器将为您将最后三个值放入一个数组中。但是,没有仅使用空格的文字形式。
你可以这样做:
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)
(如果您输入的所有原始值都是整数,则您的构造函数可以缩短)
public Land(Integer int1, Integer... ints){}
你的意思是可变参数:http ://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html
你可以改变你的构造函数来接受一个整数数组
int [] params = new int{1,2,3};
Land FlintsFinger = new Land(0,0,1,0,9, params);