0

そのため、数値のリストまたは何か (「リスト」は「リスト」の実際の Java 定義ではなく、一般的な使用法ではありません) を配列に入れる方法を見つけようとしています。次のようになります。

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

後者の数字は Land の配列に入ります (他の数字は無視してください)。

その場でこれを行う構文はありますか? Pythonにはタプルがあることは知っていますが、Javaにはそのようなものはありますか?

ありがとう!

4

4 に答える 4

2

次のような意味ですか。

public class Land {

    private final int[] values;

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

または、最初の 5 つのパラメーターが別の意味を持っている場合:

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);

コンパイラは、最後の 3 つの値を配列に入れます。ただし、スペースを使用するだけのリテラル形式はありません。

于 2012-07-30T18:25:22.377 に答える
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)(入力した元の値がすべて int の場合、コンストラクターは に短縮できます)

于 2012-07-30T18:26:32.923 に答える
0
public Land(Integer int1, Integer... ints){}

varag のことです: http://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html

于 2012-07-30T18:26:04.827 に答える
0

コンストラクターを変更して、int の配列を受け取ることができます

int [] params = new int{1,2,3};
Land FlintsFinger = new Land(0,0,1,0,9, params);
于 2012-07-30T18:26:23.510 に答える