[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: swap
前橋です。
>>swapが作れるものなら作りたい、という要望は、プログラマの側
>>からすれば自然なものに思えます。
遠藤さん:
>JavaHouse のしらかみさんの、Observable/Observerを使えば良い
>という案はいかがですか?
あれ、swapを作るための案に見えないんですけど...
どっちにしても、IntegerやIntegerBuffer(?)のように、オブジェ
クトを使うと、
オブジェクトは結局ポインタ(参照)なので、
その指す先のものの中身を書き換えてしまうと、誰か他のポインタ
がそれを指していた場合にはまります。
結局、swapなら、自分でひっくり返すしかないんでしょう。
swapに限らず、もっと一般に変数引数とか参照渡しとか言われるも
のをJavaでやることを考えると、
結局そういう時は、メソッドから一度に複数の値を返して欲しいわ
けですが、
そういう場合は、結局一時オブジェクトをnewして渡して中に入れ
てもらうか、欲しい値を全て詰めたオブジェクトを戻り値で返して
もらうかのどちらかになるんでしょうね。
まあ、ひとつのメソッドから、一度に5個も6個も値を返したい、と
いうのは、機能分割の時点で失敗しているような気もしますが...
でもやっぱり、2〜3個ぐらいの値なら、一度に返したくなる時はあ
りそうです。
>> swap(a[i], a[i]);
>このときも例外を throw しないといけませんね。メモメモ。
うーん、やっぱり例外ですかね。一時変数を使ったswapをエミュレー
トするなら、何も起きないという仕様でも良さそうですが。
------------------------------------------------------------
前橋 和弥 maebashi@xxxxxxxxxx
中部ソフトエンジニアリング(株)
〒450 名古屋市中村区名駅4-10-25(名駅IMAIビル 5F)
Tel:(052)583-4511(代) 内線 252 Fax:(052)583-4566
------------------------------------------------------------