1

たとえば、宣言の外で、Java配列に直接値を与える方法を探しています。

/*this works*/
int a[] = {1,2,3};

/*this doesn't*/
a = {1,2,3};

動機は、引数として配列を持つメソッドを次のように使用できるようにすることです。

public void f(int a[]) {
 /*do stuff*/
}

f({1,2,3});

それ以外の

int a[] = {1,2,3};
f(a);
4

5 に答える 5

7

試す:

a = new int[] {1,2,3};
于 2009-09-30T18:10:36.413 に答える
5

試す :

a = new int[]{1,2,3};
于 2009-09-30T18:09:38.467 に答える
3

一般的にあなたは言うことができます

int[] a;
a = new int[]{1,2,3};

 

public void f(int a[]) { ... }

f(new int[]{1,2,3})

コード内の任意の場所で配列を初期化します。

于 2009-09-30T18:09:55.423 に答える
3

よりクリーンな代替手段として、可変パラメーター機能を使用できます。これは、配列を渡す場合でも機能します。これは単なる構文糖衣です。

public void f(int... a) {
    /*do stuff*/
}

public void test() {
    f(1);
    f(1,2,3);
    f(new int[]{1,2,3});
}
于 2009-09-30T18:18:54.127 に答える
0

静的ブロックを使用して、探していることを実行できます。これは、クラスが最初にロードされたときに実行されることに注意してください。

private static int a[];

static {
    a = new int[] {1,2,3};
    f(new int[]{1,2,3}); 
}

public static void f(int a[]) {
 ///
}
于 2009-09-30T18:09:37.263 に答える