「int」と「Integer」は、どちらも「Java」で整数を扱うための仕組みであることに違いはない。では何が違うのか。両者の基本的な要素を比較する。
プログラミング言語・実行環境の「Java」で整数を扱う際、開発者は整数を扱う際に「int」と「Integer」という2つの仕組みを利用できる。両者は何がどのように違うのか。それを理解するために、まずは仕様上の違いを見ていこう。
intとIntegerの主な違いは、intが「プリミティブ型」、Integerが「クラス」であることだ。プリミティブ型は、Javaが標準で用意する8つの型(数値や文字列といったデータの種類)。クラスは、フィールド(データ)とメソッド(処理)をまとめたオブジェクトの設計図を指す。オブジェクトとしてプリミティブ型を利用可能にするクラスを「ラッパークラス」と呼び、Integerはintに対するラッパークラスという位置付けになる。
プリミティブ型とクラスの違いが、intとIntegerのさまざまな違いを生む。クラスであるIntegerしか持たない主な要素は、以下の通りだ。
intの変数同士の比較には等価演算子(==)を使用し、Integerのオブジェクト同士の比較にはメソッド「equals」を使用する。intの変数よりもIntegerのオブジェクトの方が、メモリの消費量が多くなりやすい。
次回は、実際のソースコードに沿ってintとIntegerの違いを解説する。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
SASのCMOが語る マーケティング部門が社内の生成AI活用のけん引役に適している理由
データとアナリティクスの世界で半世紀近くにわたり知見を培ってきたSAS。同社のCMOに、...
SALES ROBOTICSが「カスタマーサクセス支援サービス」を提供
SALES ROBOTICSは、カスタマーサクセスを実現する新サービスの提供を開始した。
「Fortnite」を活用 朝日広告社がメタバース空間制作サービスとマーケティング支援を開始
朝日広告社は、人気ゲーム「Fortnite」に新たなゲームメタバース空間を公開した。また、...