2009-04-15 孫までディープコピー2 ActionScript また引っかかってしまったので書く。 前のエントリで、Vector.は確かにVector.にコピーされた。だが、Vector.<A> (AはObject以外の任意のクラス)もVector.になるらしい。Arrayでも同様の現象が起こる。(wonderfl)しかも、ディープコピーされたはずの各要素は、AではないObjectになってしまっている。つまり as A などで戻せないということだ。次のコードの2行目はfalseになってしまう。 var a : A = new A(); ObjectUtil.copy(a) is A;この場合の打開策は、AをObjectとして実装し直してしまうか、Aにdeepcopyメソッドを実装してしまうぐらいしかないと思う。