プログラミング Java

【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を使用すればよい。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

AbstractFactoryパターンをenumで生成するメリット

AbstractFactoryパターンの説明には、実行時引数に文字列を渡したり、フラグでif-else判定する例をよく見かける。 しかし、どんなFactoryが生成可能を知らない担当者がFactory …

【Java】Enumを使って変更に強いコーディングをする!

概要 仕事でコード値の判定が色んなところに散らばってしまった後に、コード値の定義を変更しなければいけなくなった状況が起こりました。 Enumで定義していれば変更箇所はEnum定義だけでよかったなぁ~と …

ITエージェントが保有している案件数を比較してみました

概要 ITエージェントが保有している案件はどのくらいあるのか? また、Java案件に参画するにはどのエージェント経由が有利か? というちょっとした興味を元に調べてみました。 調査実施日:2021年5月 …

【SpringBoot入門】#9~ 更新画面の作成

左側のコンテンツ40% 右側のコンテンツ60% ※2021/01/09  画面遷移等のバックエンド側の内容が抜けていたので追記しました。 概要 検索結果一覧から編集ボタン押下で遷移してくる更新画面です …

【SpringBoot入門】#12~ 削除機能の実装

概要 ダイアログでOK押下された場合の削除処理を実行します。 画面からリクエストされた書籍情報IDをキーに、論理削除を実装します。 システム開発ではほとんどの場合、論理削除を行います。 物理削除するの …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。