2011-05-21

http://anond.hatelabo.jp/20110520111948

多分、==と=の話をしているんだと思う。

比較に使うはずのif文の中でも代入できるのはバグの元だよねーって話。ちなみにjavaでもCでもif文の中に代入は存在できるので、そういった意味でどっちも優れてない。

あと、俺が思うに比較の順番とかがフリーダムだとかなりバグ混入しやすいじゃん。

Java場合エラーにならないのはbooleanを代入した場合だけ。つまり、condというboolean変数があったとして、

 if (cond == true) {}
 if (cond == false) {}

のような書き方をしたときけが代入にしてしまミスが発生するわけ。

でもそんな書き方はありえない。condがbooleanの場合の通常の判定文は

 if (cond) {}
 if (!cond) {}

のように書く。だからJavaでifの条件式に代入を書いてしまってミスることはまずない。Cと比べて一緒というのは明らかにJavaをわかっていないと思う。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん