プログラミング 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


関連記事

【Java入門】クラスの継承、オーバーライド

概要 クラスの継承とは、継承元(親)のフィールド(値)、メソッド(機能)を継承先(子)に引き継がせることです。 継承先(子)では、追加のフィールド(値)、メソッド(機能)を持つことができます。 つまり …

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

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

【Javaサンプル】自動販売機を作成(Level1)

Javaの勉強用サンプルです。 テーマは自動販売機。 プログラミング初心者向けに書いています。   自動販売機を題材として選んだ理由 自社研修で行っている 自社研修で自動販売機を作成したので …

elseを使わないことでパフォーマンスが下がる場合の対処法

  状況 前回記事(なぜelse、else ifを書かないようにすべきなのか?)のような ifのみで判定されており、それがfor文等の繰り返し処理の中にある場合は パフォーマンスが下がる。 …

【Java】HashSet、LinkedHashSet、TreeSetの違い

概要 重複しないリストは、「Setに格納することで重複を除外してくれる」というのは多くの記事で紹介されています。 ここでは、Setに格納した後のデータの並び順も考慮したいという要件に対応するために、3 …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

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

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