ifの評価式の中

定数との比較 #2 - odz buffer さんより、

ふーむ、PMD 的には "hoge".equals(stringValue) が推奨らしい。

そういえば、C では単純ミスで比較が代入にならないように

if (a == 10)

ではなく

if (10 == a)

とするやり方があるけど、こういうのは普通に lint なり何なりの静的解析ツールを使えば防げるように思うんだけどもどうだろう。

を読んで、C# の場合、評価式の部分はキッチリ bool値 しかダメなので、数値になってしまったりするミス代入の場合でもちゃんとエラーになる――というのを知ったとき、当時バリバリの Cプログラマだった私は「あったまイイなぁ、もぅ!」とやたら感心したのを思い出しました。