Javaラッパークラスとジェネリックス

目次

包装

ボックス化と開梱

パッキング

箱から出す

ジェネリック

初期ジェネリック


包装

ラッパークラスは基本データ型に対応する参照型であるため、基本データ型にもオブジェクト指向プログラミングの機能を持たせることができます。

Java では、基本型はオブジェクトから継承されないため、これらの基本データ型をジェネリック コードでサポートするために、Java は各基本データ型に対応するラッパー クラスを設定します。

基本データ型に対応するラッパークラス
基本的なデータ型 包装
整数 なし
浮く 浮く
ダブル ダブル
短い  短い
長さ 長さ
バイト バイト
文字 キャラクター
ブール値 ブール値

int と char を除き、その他は大文字です

ボックス化と開梱

パッキング

基本データ型を対応するラッパー クラスに変換する

Integer a = Integer.valueOf(10);   //装箱操作   把基本数据类型10变为引用数据类型
Integer a1 = 10; //自动转箱 ,帮我们自动完成装箱操作

箱から出す

ラッパークラスを対応する基本データ型に変換します。

int b = a.intValue();   //拆箱
double d = a.doubleValue();   //可以根据我们需要的类型选择拆箱后的数据类型
int c = a;  //自动拆箱
double d1 = (double)a;  //可以根据我们需要的类型选择拆箱后的数据类型

Integer のサイズには注意が必要です。

値が -128 ~ 127 の場合、使用される Integer ラッパー クラスの配列の値になります。

-128 ~ 127 を超えると、新しい整数オブジェクトが作成されます

 

Integer a = 120;
Integer b = 120;
System.out.println(a==b);  //true   

Integer c = 128;
Integer d = 128;
System.out.println(c==d);   //false


ジェネリック

クラスパラメータを指定してデータ型をパラメータ化します

データ型がパラメータ化された後、コンパイラにチェックを行わせます。

初期ジェネリック

class MyArray <E> {  //泛型类

    public Object[] objects = new Object[3];
    public E get(int pos) {
        return (E)objects[pos];
    }
    public void set(int pos,int val) {
        objects[pos] = val;
    }
}

public class test {
    public static void main(String[] args) {
       MyArray<Integer> myArray = new MyArray<Integer>(); //将数据类型参数化
        myArray.set(0,1);
        myArray.set(1,2);
        myArray.set(2,3);
        int integer = myArray.get(1);
        System.out.println(integer);

    }
}

最大の機能は、現在のクラスが保持すべきオブジェクトのタイプを指定し、コンパイラにそれをチェックさせることです。

データを保存するときに、型チェックを自動的に実行するのに役立ちます。

要素を取得するときに、型変換を実行するのに役立ちます

おすすめ

転載: blog.csdn.net/qq_63525426/article/details/129406651