Java7のObjects.equalsで2つのオブジェクトを比較する
Java7からObjectsクラスが使えます。
Objects.equals(a,b)でaとbを比較します。
同じならtrue,違うならfalseを返します。
このメソッドはnullを気にせずに比較することができるため大変便利です。
以前は以下のように比較していたと思います。
1 2 3 4 5 |
String a = "1"; if (a != null && a.equals(b)) { // 処理 } |
もしくは定数を先に持っていき、equalsで比較していたと思います。
Objects.equalsを使えばnullを考慮せずに比較することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package jp.confrage; import java.math.BigDecimal; import java.util.Objects; public class Test1{ public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("10"); BigDecimal bd2 = new BigDecimal("10"); String a = "1"; String b = "1"; System.out.println(Objects.equals(null, null)); System.out.println(Objects.equals(a, b)); System.out.println(Objects.equals(bd1, bd2)); } } |
結果は以下のようになります。
1 2 3 4 |
true true true |
Objects.equalsでは型も考慮してくれます。
1 2 3 |
String a = "1"; BigDecimal b = BigDecimal.ONE; Objects.equals(a,b);// →falseとなります |

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
資格:少額短期保険募集人,FP3級