オブジェクトの「値」を比較するには

提供: tknotebook
2016年11月9日 (水) 11:35時点におけるNakamuri (トーク | 投稿記録)による版

移動: 案内検索

メインページ>コンピュータの部屋#Java>Java Tips


Javaのオブジェクトの等値性の比較はちょっと面倒です。Java6以前ではこんな感じ

void boolean compareValueOfObject(Object str1, Object str2) {
    if (str1 == null && str2 == null) return true;
    if (str1 != null && str2 == null) return false; 
    if (str1 == null && str2 != null) return false; 
    return str1.equals(str2);
}

これと全く同じ処理をする関数が Java7 に導入されました

 Objects.equals(str1, str2)

文字列比較などはこれでやるとぐっと楽になります。