オブジェクトを複製しようとしていますが、成功しません。私は試した
- シリアル化
- クローニング
どちらの方法も私にはうまくいきません。
シリアライゼーションを使用したとき (ここで指定されている手法を使用していますJava オブジェクトのより高速なディープ コピー) を取得しNullPointerException
ました。複製により、元のオブジェクト参照を取得しました。
シナリオは次のとおりです。
char[][] board
データと拡張クラスを持つ1つの抽象クラス A がありますB
。このためのデータを複製したい にboard
2 つのメソッドをB
実装getboard()
しsetboard()
、そのようなクローン メソッドを実装しました。
B b1 = new B;
B.initialize();
B b2 new B;
B2 = B1.clone(B2)
しかし、これは機能していません。どんな助けでも大歓迎です。
ありがとう :-)
public B clone() {
B N = new B();
try {
N = (B)super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
N.setBoard(this.getBoard());
return N;
}
シリアル化に関しては、ボードを描画しようとすると逆シリアル化した後、NullPointerException
. 私は、逆シリアル化が適切に機能しなかったと結論付けています。