たとえば、宣言の外で、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);
たとえば、宣言の外で、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);
試す:
a = new int[] {1,2,3};
試す :
a = new int[]{1,2,3};
一般的にあなたは言うことができます
int[] a;
a = new int[]{1,2,3};
public void f(int a[]) { ... }
f(new int[]{1,2,3})
コード内の任意の場所で配列を初期化します。
よりクリーンな代替手段として、可変パラメーター機能を使用できます。これは、配列を渡す場合でも機能します。これは単なる構文糖衣です。
public void f(int... a) {
/*do stuff*/
}
public void test() {
f(1);
f(1,2,3);
f(new int[]{1,2,3});
}
静的ブロックを使用して、探していることを実行できます。これは、クラスが最初にロードされたときに実行されることに注意してください。
private static int a[];
static {
a = new int[] {1,2,3};
f(new int[]{1,2,3});
}
public static void f(int a[]) {
///
}