タイトルが示すように、多次元配列、正確には2次元配列のコピーを一般的な方法で作成しようとしているので、他の場所でこれを再利用できます。
私が渡すタイプは、おそらくすべてユーザー定義です。たとえば、この方法で利用したい Tile クラスがあります。
私の現在の問題は以下のコードです:
デバッガーで呼び出しを追跡し、配列内の要素が正しく割り当てられていることを確認できますが、結果が返されるとすぐに Java は次の例外をスローします。
java.lang.ClassCastException: [[Ljava.lang.Object; [[Lboard.Tile; にキャストできません。
@SuppressWarnings("unchecked")
public static <T> T[][] clone(T[][] source) {
T[][] result = (T[][]) new Object[source.length][source[0].length];
for (int row = 0; row < source.length; row++) {
result[row] = Arrays.copyOf(source[row], source[0].length);
}
return result;
}
これを行う良い方法を知っている人はいますか?最適化は問題ではありません。
ありがとう