0

16 行 x 11 列の 2D 配列を作成しようとしています。行 0、列 3 は、1 次元配列である別の配列への参照です。これを行うにはどうすればよいですか?私はすでに、単一次元配列がchar配列であり(必要に応じて文字列配列にすることもできますが)、2D配列が文字列配列である両方の配列を持っています。2D配列の残りの部分は、1次元配列にしたい行0、列3を除いて、各要素のプレーン文字列で満たされています。

4

3 に答える 3

2
Object[] arrayToReference = ...;
Object[][] arrayWithReference =  new Object[] { ..., arrayToReference, ...};

これは機能するはずです。配列を参照するだけで、元の変更に合わせて変更する必要があります

コード スニペットの例を次に示します。

    Object[] array = new Object[] { "Test!" };
    Object[][] arrayArray = new Object[][] { array };
    System.out.println("Before: " + arrayArray[0][0]);
    array[0] = "Test2!";
    System.out.println("After: " + arrayArray[0][0]);

次の出力があります。

Before: Test!
After: Test2!
于 2012-09-30T23:34:01.247 に答える
0

それは、問題に対するあなたのアプローチが間違っているように思えます。おそらく、データ構造を再考する必要があります。通常、配列は型付けされます。1 つのセルに別の型を挿入することを実際に決定することはできません。

本当にデータ構造を変更できない場合は、各セルに文字列の 1 次元配列を挿入してみてください。エントリは 1 つだけです。これは、行 0、列 3 を除いて、通常そこにある文字列です。配列。

于 2012-09-30T23:29:23.297 に答える
0

私は少し過剰な解決策を考えていますが、これにはいくつかの改良が必要です。それが可能であれば。

同じインターフェイスを実装する 2 つのクラスを作成できますか? 最初の 1 つは 2D 配列の型になり、もう 1 つは 1D 配列のクラスになります。

これらは共通のインターフェイスを実装しているため、そのインターフェイスを使用して 2D 配列を作成できます。この種の 2D 配列は、その中の任意の場所にある任意の種類の 2 つのオブジェクトを受け入れることができます。

于 2012-09-30T23:34:38.720 に答える