1. ホーム

[解決済み】JavaのassertEqualsメソッドは信頼できますか?

2022-04-21 15:22:50

質問

私は、以下のことを知っています。 == を比較する際に、いくつかの問題があります。 Strings . どうやら String.equals() の方が良い方法だと思います。 さて、私はJUnitのテストをしていて、私の気持ちは assertEquals(str1, str2) . これは、2つのStringが同じ内容を含んでいることを保証する信頼性の高い方法でしょうか? 私なら assertTrue(str1.equals(str2)) しかし、その場合、失敗時に期待値と実際の値がどうなるかを確認する利点がありません。

これに関連して、どなたか、以下の問題点をわかりやすく説明しているページかスレッドへのリンクをお持ちの方はいらっしゃいますか? str1 == str2 ?

解決方法は?

あなたは 常に 使用 .equals() を比較する場合 Strings をJavaで表示します。

JUnitは .equals() メソッドで等質性を判断します。 assertEquals(Object o1, Object o2) .

ということで、間違いなく安全な assertEquals(string1, string2) . (なぜなら StringObject s)

Stackoverflowの素晴らしい質問へのリンクはこちらです。 との違いについて ==.equals() .