Javaの「int」「Integer」を比較【第1回】
「intはIntegerの略」じゃない? Java初心者が混乱する“根本的な違い”とは
「Java」における「int」と「Integer」は、いずれも文字通り整数を扱うための仕組みだ。ただしintとIntegerには根本的な違いがある。それぞれの基本的な特徴を整理しよう。
プログラミング言語・実行環境の「Java」には、整数を扱うための仕組みとして「int」と「Integer」の2つがある。“字面”だけで判断して「intもIntegerも同じであり、intはIntegerの略に過ぎない」と考えてはいけない。intとIntegerは名称は似ているものの、それぞれの特徴は大きく異なる。どのような違いがあるのか。
実は別物だった「int」と「Integer」 その“端的な違い”はこれだ
Javaにおいて、intは整数を表すための変数の型(数値や文字列といったデータの種類)を指す。intは、Javaが標準で用意する8つの型「プリミティブ型」の1つだ。
Integerは、フィールド(データ)とメソッド(処理)をまとめたオブジェクトとして、intを利用できるようにするクラス(オブジェクトの設計図)を指す。このようにオブジェクトとしてプリミティブ型を利用可能にするクラスを「ラッパークラス」と呼ぶ。
Javaでintの変数を宣言すると、その変数は代入した整数を表すだけだ。それ以外の情報を提供することはない。つまりintについて、以下のことが言える。
- intの変数はフィールドを持たない
- intの変数からメソッドを呼び出すことはできない
- 「equals」を使って、intの変数同士を比較することはできない
- equalsはIntegerで利用できるメソッド。引数として与えたオブジェクトと、メソッドを呼び出したIntegerオブジェクトの値を比較する。
- intの変数は継承ができない
- 継承は、基となるクラスのフィールドやメソッドを引き継いで、新しいクラスを作成すること。
intの変数は、保持する値を計算や比較に使用することしかできない。以下にintの変数を使ったJavaのソースコード例を示す。
int x = 10; // intの変数「x」を宣言し、初期値として10を代入する。
int y = 20; // intの変数「y」を宣言し、初期値として20を代入する。
int sum = x + y; // intの変数「sum」を宣言し、初期値としてxとyを加算した結果を代入する。
int difference = x-y; // intの変数「difference」を宣言し、xからyを減算した結果を初期値として代入する。
boolean flag = (x == y); // boolean(真偽値を扱う型)の変数「flag」を宣言し、xとyが等しい場合は「true」、異なる場合は「false」を代入する。
次回は、intとIntegerの違いを掘り下げる。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
2
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
3
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
4
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
5
アラート47%削減 オープンハウスが捨てた「全部メール通知」の監視体制
-
6
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
DX導入企業の3割超がむしろ「負担増」 9割が陥る“内製化のわな”
-
9
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
10
ベッドでの使用が「PC騒音」を悪化させる? Dellが推奨する冷却ファンの鎮め方
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー