Java
1if (str.equals("abc")) { 2 〜 3}
これだと、変数strがnullだった時にNullPointerExceptionが発生する。
それならば以下のようにすれば絶対にnullpoは発生しない!解決!
Java
1if ("abc".equals(str)) { 2 〜 3}
と、このような記事が散見されます。
ですが、「リーダブルコード」をちょこっと読んだあとだったのでこの解決法に違和感を覚えました。
リーダブルコードには例示として
while (bytes_received < bytes_expected)
or
while (bytes_expected > bytes_received)
Again, the first version is more readable. But why?
のように書いてあり、そのあとに
左側には検査対象(変動する値)が入り、右側には想定する値(決まった値)を入れる**
と書いてありました。.equals()メソッドの場合も当てはまると思ってます。
そこで質問なのですが、実務レベルで↓の書き方をしてOKなのでしょうか。それともこの使い方は常態化しており気にせず書いていて許されるレベルの話なのでしょうか・・・。
Java
1if ("abc".equals(str)) { 2 〜 3}
ちなみに、Qiitaの記事ではこの使い方を「ワンランク上の使い方」と書いてあるのですが。
https://qiita.com/MASAKI-HORI/items/e9ee77e9fb67105ed921
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。