【Java】Doubleとdoubleの違いは何か?

当ページのリンクには広告が含まれています。
目次

結論

Double:オブジェクト型
double:プリミティブ型
「Doubleはdoubleをラップしたオブジェクトである」ということです。

(・ω・´。)ん?つまりどういうこと?

こゆこと。
 ↓
Double:オブジェクト型 → フィールド(単一のdouble値)、メソッドを持つ
double:プリミティブ型 → 単一のdouble値を持つのみ

※Integer(オブジェクト型)とint(プリミティブ型)の関係と同じなので、そっちの方が理解しやすいかもしれませんね。

 

ソースコード

補足

Java9以降において、Doubleを含むいくつかのオブジェクト型はコンストラクタ呼び出し時に値を設定する方法が非推奨になりました。
そのため、上記のようにJava8までとJava9以降で初期値の設定方法を変えています。

(引用元)クラスDouble
https://docs.oracle.com/javase/jp/9/docs/api/java/lang/Double.html#constructor
 

使い分け

DoubleはtoStringやintValueなどのメソッド使う必要である場合に使い、
doubleはただのdouble値を保持するだけという場合に使用すればよいでしょう。
 

まとめ

  • Doubleはオブジェクト型、doubleはプリミティブ型という違いがある。
  • Java8までとJava9以降で初期化の推奨方法が異なる。
  • メソッドを使用して何らかの処理をしたい場合は、Doubleを使用すればよい。

最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リーマンショックの影響で26歳の時にIT業界から離れ、紆余曲折を経て34歳でエンジニアに復帰しました。
復帰前は開発未経験でしたが、独学した知識と面接時のコミュニケーション力で見事開発エンジニアとして復帰しました!
今はフリーランスエンジニアとして仕事をしています。

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次