値にインデックスを付けて、int の多次元プライベート static final 配列を初期化したいと考えています。
private static final int[][] a = { {0,0,0}, {1,2,3} };
これは私には良くありません。私が試したこの奇妙な構文をどこかで見つけましたが、とにかくコンパイルしたくありません。必要なものを明確にするために追加します。
private static final int[][] a;
private static {
a = new int[NUM_TYPES][3];
a [TYPE_EMPTY] = { 0, 0, 0 };
a [TYPE_NORMAL] = { 1, 2, 3 };
};
違いは、[0] と [1] の代わりに [TYPE_EMPTY] と [TYPE_NORMAL] を持つ必要があることです。実用的な面では同じですが、2 番目のものを使用すると、ソースがより明確になり、エラーがなくなり、保守しやすくなります。
たとえば、将来新しい TYPE を追加したとしても、配列内の数値インデックスを気にする必要はありません。
私が言ったように、それを行うための正しい構文が見つかりませんでした。上記の構文は完全に間違っています。Java の専門家が簡単なレッスンをしてくれませんか? :) どうもありがとうございました。