Javaの「int」「Integer」をソースコードで比較 「初期化」の違いとは?Javaの「int」「Integer」を比較【第3回】

「int」「Integer」は、どちらも「Java」で整数を扱うための仕組みだ。「初期化」における両者の違いを、実際のソースコードを交えて解説する。

2023年07月30日 09時30分 公開
[Cameron McKenzieTechTarget]

 プログラミング言語・実行環境の「Java」のプログラムで整数を扱うには、「int」または「Integer」のいずれかの仕組みを使うことになる。intは「型」(数値や文字列といったデータの種類)、Integerは「クラス」(データと処理をまとめたオブジェクトの設計図)という定義上の違いはあるものの、これだけでは何が違うのかをイメージしにくい。ソースコードを見れば、両者の違いをより理解しやすくなる。

intとIntegerの「初期化」の違いをソースで比較

 変数やオブジェクトを利用する際は、初期化という作業が必要になる。intの変数を初期化する方法は、変数を宣言して代入することしかない。ソースコード例は以下の通りだ。

int kilo = 1000; // intの変数「kilo」を宣言し、数値「1000」を代入することで初期化する。

 Integerのオブジェクトは、以下に示す3つの手段で初期化できる。

valueOf

 「valueOf」は、文字列を数値に変換するメソッド(オブジェクトにおける処理)だ。valueOfを使った初期化の例を以下に示す。

Integer dozen = Integer.valueOf("20"); // Integerのオブジェクト「dozen」を宣言し、valueOfを使って文字列「20」を数値に変換することで初期化する。

オートボクシング

 「プリミティブ型」(Javaが標準で用意する8つの型)の変数を、対応する「ラッパークラス」(オブジェクトとしてプリミティブ型を利用可能にするクラス)のオブジェクトに自動的に変換する機能を「オートボクシング」と呼ぶ。オートボクシングを使った初期化の例は以下の通りだ。

Integer century = 100; // Integerのオブジェクト「century」を宣言し、オートボクシングを使って数値「100」を代入することで初期化する。

コンストラクタ

 「コンストラクタ」は、演算子「new」を使ってクラスからオブジェクトを生成する際に、自動的に呼び出すメソッドを指す。コンストラクタを使った初期化は以下のようになる。

Integer number = new Integer(10); // Integerのオブジェクト「number」を宣言し、コンストラクタを使って引数「10」を初期値にして初期化する。

 次回は処理負荷の視点から、intとIntegerを比較する。

関連キーワード

Java | プログラミング


TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news131.jpg

メッシやベリンガム、ヴィルツも登場 アディダスが世界で展開する豪華過ぎるサッカー推しキャンペーンの中身
Adidasが夏のサッカーシーズンに向けて新キャンペーンを世界各地で展開する。デビッド・...

news058.jpg

Web広告施策に課題を感じている企業は9割以上――リンクアンドパートナーズ調査
企業のWeb広告施策を推進している担当者約500人を対象に、課題と今後の取り組みについて...

news183.jpg

TikTokマーケティングの最適解へ スパイスボックスが縦型動画クリエイター集団M2DKと業務提携
スパイスボックスが縦型動画クリエイター集団であるM2DKと業務提携。生活者に向けて訴求...