Dの配列の.reverse()にやられた
XMLのDomを操作するプログラム書いてたのだけど、そこで直接持ってる子ノードの配列を参照して、スタックに逆にして入れて全体を操作しようとか考えたのだけど、そのときに勝手に中身が変わっててビックリ。調べてみると、以下のようなことが分かった。
int array[]=new int[3]; for(int i=0;i
を実行すると、
2 1 0
になってしまう。
配列のreverseプロパティは、配列をコピーして反転したものを返すのではなくて配列そのものを反転して返すのね。まいった。
「配列のコピーを返してくれよ!!」「中身書き換えんじゃねぇよ!!」と思いました。