21
compareTo()とequals()の比較
StringJavaのの等価性をテストするときは、equals()これが最も自然な方法のように思えるため、常に使用しました。結局のところ、その名前はすでに意図されていることを示しています。しかし、私の同僚は最近、のcompareTo() == 0代わりに使用するように教えられたと私に言ったequals()。これは不自然に感じられ(compareTo()順序付けを提供し、同等性を比較しないことを意味します)、多少危険compareTo() == 0でもあります(すべての場合において同等であることを意味するわけではないため、必ずしもそうであるとは限りませんString)。 彼はfor のcompareTo()代わりに使用するように教えられた理由を知りませんでした。また、理由もわかりませんでした。これは本当に個人的な好みの問題ですか、それともどちらの方法にも本当の理由がありますか?equals()String