LoginSignup
1
2

More than 5 years have passed since last update.

いらないnullチェックを防ごう!:double型の引数をもつメソッド

Posted at

概要

業務でJUnitを使ってテストをしながら、不要なソースを取り除くお仕事をしている時に
いらないnullチェックが結構あることに気づいたので、メモです。

nullになりようがないのに、nullチェックをしている

例えばこんなメソッド。

private static double doubleMethod(double value){

        String stringValue = String.valueOf(value);

        if(stringValue == null){
            return 0;
        }
        return value;

    }

「String型だとnullがくるかもしれないからnullチェックしよう!」と思ったらしいソースです。
最初気づかなくて、メソッドの引数にnullを入れ、AssertEqualsでテストしようとする。。。コンパイルエラーに。

あっ、引数がdouble型だった…。

double型は「プリミティブ型」の変数なので「オブジェクトの参照を入れる代わりに何もない」ことを意味するnullは入れられません。
なので、double型で渡ってきたものには全て何らかの値が入っています。そのためそれをString型のような参照型に変換してもnullチェックは必要ありません。

ちなみにどうしても、double型で「値がない」ことを示したい場合にはjava.lang.Double.NaNを使います。
使う状況はあまりないと思いますが…。

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2