文字列の比較をしたいときの書き方について。 以下は論外である。 ```java String str = "example"; if(str == "example"){ // false判定 /* */ } ``` 通常、`equals`メソッドでの比較を行うが、NullPointerExceptionに気をつける必要がある。 ```java String str = null; if(str.equals("example")){ // NullPointerException /* */ } ``` [ヨーダ記法](https://ja.wikipedia.org/wiki/%E3%83%A8%E3%83%BC%E3%83%80%E8%A8%98%E6%B3%95#%E5%88%A9%E7%82%B9)を使用すれば一応NullPointerExceptionの回避は可能。 ```java String str = null; if("example".equals(str)){ // 安全 /* */ } ``` Java8以降では、安全な`java.util.Objects#equals`メソッドが利用できる。 ```java String str = null; if(Objects.equals(str, "example")){ // 安全 /* */ } ``` クラスパスに`commons-lang3`ライブラリが含まれている場合は、`org.apache.commons.lang3.StringUtils#equals`メソッドを積極的に利用したほうが良い。 ```java String str = null; if(StringUtils.equals(str, "example")){ // 安全 /* */ } ```
by   cyrus07424
2019/06/28 21:58:30

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン