素朴な疑問

期間限定でなんかたくさん "bar".compareTo("foo") == 0 みたいな条件を見かける。

なんで equals を使っちゃだめなんだろう。どうせ同じかどうかを判定してるんであって、文字列のどこかが合ってればOKなんてことじゃないのに。実際 equals で比較してるところもあるから、ルールで決まってるわけでもないはず。こんなのに致命的なバグとかあるのかなぁ。

あと "hoge".indexOf("hoge") >= 0 みたいなのもあったな。

理由が知りたいところだ。