Javaの「int」「Integer」を比較【第3回】
Javaの「int」「Integer」をソースコードで比較 「初期化」の違いとは?
「int」「Integer」は、どちらも「Java」で整数を扱うための仕組みだ。「初期化」における両者の違いを、実際のソースコードを交えて解説する。
プログラミング言語・実行環境の「Java」のプログラムで整数を扱うには、「int」または「Integer」のいずれかの仕組みを使うことになる。intは「型」(数値や文字列といったデータの種類)、Integerは「クラス」(データと処理をまとめたオブジェクトの設計図)という定義上の違いはあるものの、これだけでは何が違うのかをイメージしにくい。ソースコードを見れば、両者の違いをより理解しやすくなる。
intとIntegerの「初期化」の違いをソースで比較
併せて読みたいお薦め記事
連載:Javaの「int」「Integer」を比較
Javaプログラムの作り方
変数やオブジェクトを利用する際は、初期化という作業が必要になる。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を比較する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[横河レンタ・リース株式会社] 不正アクセス被害が深刻化 狙われる「セキュリティの死角」はどこなのか? -
製品資料
[NTTインテグレーション株式会社] 2026年度末開始の「SCS評価制度」をどう攻略する? -
製品資料
[NTTインテグレーション株式会社] 「復旧せよ」の決断に即答できる? いま必要な戦略的データ復旧の極意 -
製品資料
[NTTインテグレーション株式会社] SCS評価制度は「共通のモノサシ」になる? いま製造業がすべきこととは -
事例
[Extreme Networks株式会社] BYOD時代の大学のWi-Fi、安定した通信環境をどう実現する?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
SAP導入後も残る“Excel依存” 京急電鉄は「kintone」でどう解消した?
-
4
みずほ証券が「液冷サーバ」を採用 1日3.6億件の計算を支えるための要件
-
5
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
6
「オフィス移転・刷新に伴うネットワーク環境の実態」に関するアンケート
-
7
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
8
AI時代のITインフラ変革 ネットワークの重要性と「予測をやめる投資」とは
-
9
「法人向けPCおよび周辺機器の利用状況」に関するアンケート
-
10
「業務PC/ワークステーション」に関するアンケート
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー