Java データ型とラッパークラス

Javaのデータ型とラッパークラスについてです。

目次

データ型

Javaのデータ型は、基本型と参照型があります。
データ型はデータの種類を表します。

 

基本型

Javaのデータ型の基本型です。プリミティブ型、原始型とも呼ばれます。

分類 データ型 範囲  備考
整数 byte -128~127 1バイト
short -32,768~32,767 2バイト
int -2147483648~2147483647(約-21億~21億) 4バイト(使用推奨)
long -9223372036854775808~9223372036854775807
(約-922京~約922京)
8バイト
浮動小数点 float 32ビット単精度浮動小数点数 4バイト
double 64ビット倍精度浮動小数点数 8バイト(使用推奨)
真偽 boolean true / false 1バイト
文字 char ¥u0000~¥uffff
Unicode(UTF-16)の文字に対応する数値コード
0~65535の範囲
2バイト

基本型の変数には、値が格納されます。

 

参照型

Javaのデータ型の参照型は、クラス、インターフェース、配列等があります。
参照型の変数には、オブジェクトへの参照(参照先のアドレス)が格納されます。値は指定されたアドレスにあります。
オブジェクトへの参照がない状態がnullです。

 

ラッパークラス

基本型に対応してそれぞれのラッパークラスがあります。

ラッパークラスは基本型にオブジェクトの機能が付いた(ラップした)クラスです。
基本型とラッパークラスどちらでも使える場面では基本型を優先します。
ラッパークラスはオブジェクトの生成が行われ(性能面)またnull値の考慮も必要のためです。

基本型 ラッパークラス
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

 

基本型からラッパーオブジェクトへの変換

基本型からラッパーオブジェクトへの変換は以下の方法があります。
・ボクシング変換を使う
・メソッドを使う
・コンストラクタを使う

ボクシング変換とは、基本型からラッパーオブジェクトへの変換が自動的に行われることです。

コード

7行目は、ボクシング変換で基本型からラッパーオブジェクトへ変換しています。
10行目は、IntegerクラスのvalueOfメソッドで基本型からラッパーオブジェクトへ変換しています。
13行目は、Integerクラスのコンストラクタで基本型からラッパーオブジェクトへ変換しています。※注 Java9ではDeprecated(非推奨)です。

package test1;

public class Test1 {
    public static void main(String[] args) {
          
      // ボクシング変換
      Integer t1 = 1;
      
      // メソッドを使う
      Integer t2 = Integer.valueOf(1);
      
      // コンストラクタを使う
      Integer t3 = new Integer(1);
    }
}

 

ラッパーオブジェクトから基本型への変換

ラッパーオブジェクトから基本型へ変換は以下の方法があります。
・アンボクシング変換を使う
・メソッドを使う

アンボクシング変換とは、ラッパーオブジェクトから基本型への変換が自動的に行われることです。

コード

7,11行目は、説明のためラッパーオブジェクトに値をセットしています。
8行目は、アンボクシング変換でラッパーオブジェクトから基本型へ変換しています。
12行目は、IntegerクラスのintValueメソッドでラッパーオブジェクトから基本型へ変換しています。

 package test1;

public class Test1 {
    public static void main(String[] args) {
          
      // アンボクシング変換
      Integer t1 = 1;
      int t2 = t1;
      
      // メソッドを使う
      Integer t3 = 1;
      int t4 = t3.intValue();
      
    }
}

関連の記事

Java クラスの変数のサンプル(メンバー変数/ローカル変数)
Java staticメソッドとstatic変数のサンプル
Java static初期化ブロックと初期化ブロックのサンプル
Java staticインポートのサンプル
Java final修飾子のサンプル
Java abstract修飾子のサンプル



△上に戻る