パッケージング クラス、自動ボックス化およびパッケージング クラスの自動開梱

目標

1) 包装の役割、

2) 梱包の自動梱包・自動開梱操作をマスターします。

3) パッケージ化クラスの変換操作をマスターします。

 

具体内容

すべてはオブジェクトですが、8 つの基本データ型はオブジェクトではありません。

Int をクラスにラップして、そのクラスがオブジェクトの形式で基本データ型を操作できるようにします。

包装

これら 8 つのパッケージ化クラスによって継承される親クラスは、すべて同じではありません。

1) Integer、Byte、Float、Double、Short、および Long はすべて Number クラスのサブクラスであり、Number クラス自体が一連の戻り値を提供します。

上記の 6 つの基本データ型に対する操作。

2) キャラクターは Object サブクラスに属します。

3) Boolean は Object サブクラスに属します。

Number クラスの役割

Number クラスは抽象クラスであり、主に数値パッケージング クラスの内容を基本データ型に変換します。

主な操作方法は以下のとおりです。

例として整数と浮動小数点を取り上げます。

梱包と開梱

1) 基本データ型をラッパー クラスに変換することは、ボックス化と呼ばれます。

2) ラッパークラスの型を基本データ型に変更することをアンボックス化といいます。

public class WrapperDemo01{
    public static void main(String args[]){
        int x = 30 ;        // 基本数据类型
        Integer i = new Integer(x) ;    // 装箱:将基本数据类型变为包装类
        int temp = i.intValue()    ;// 拆箱:将一个包装类变为基本数据类型
    }
};

例として小数を見てみましょう:

public class WrapperDemo02{
    public static void main(String args[]){
        float f = 30.3f ;        // 基本数据类型
        Float x = new Float(f) ;    // 装箱:将基本数据类型变为包装类
        float y = x.floatValue()    ;// 拆箱:将一个包装类变为基本数据类型
    }
};

JDK1.5以前では、プログラム自体はラッパークラスがクラスであるため、「+、-、*、/、++、--」などの演算を直接実行できませんでした。

自動ボックス化と自動アンボックス化は、 int-->Integer 型から自動的に変換でき、自動アンボックス化は Integer-->int から自動的に変換されます

public class WrapperDemo03{
    public static void main(String args[]){
        Integer i = 30 ;    // 自动装箱成Integer
        Float f = 30.3f ;    // 自动装箱成Float
        int x = i ;            // 自动拆箱为int
        float y = f ;        // 自动拆箱为float
    }
};

パッケージングカテゴリーにはもう一つ大きな特徴があり、

文字列を指定されたデータ型に変換します。

たとえば、数値のみで構成される文字列を int 型または float 型のデータに変更します。

次の 2 つのメソッドは、それぞれ Integer クラスと Float クラスで提供されます。

1) 整数クラス (string から int 型): public  static  int  parseInt (String s);

2) Float クラス (string から float 型): public  static  float  parseFloat (String s);

static キーワードで変更されたメソッドはクラスから直接呼び出されます。

注: ここでの String は数値で構成されている必要があります。

public class WrapperDemo04{
    public static void main(String args[]){
        String str1 = "30" ;    // 由数字组成的字符串
        String str2 = "30.3" ;    // 由数字组成的字符串
        int x = Integer.parseInt(str1) ;    // 将字符串变为int型
        float f = Float.parseFloat(str2) ;    // 将字符串变为int型
        System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};
运行结果:
整数乘方:30 * 30 = 900
小数乘方:30.3 * 30.3 = 918.08997

初期化パラメータから文字列を取得します。

public class WrapperDemo05{
    public static void main(String args[]){
        int x = Integer.parseInt(args[0]) ;    // 将字符串变为int型
        float f = Float.parseFloat(args[1]) ;    // 将字符串变为int型
        System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};

要約する

1) Javaには基本データ型をクラス形式で操作できる基本データ型のラッパークラスが8つあります。

2) 基本データ型をラッパー クラスに変換するプロセスはボックス化と呼ばれ、ラッパー クラスを基本データ型に変換するプロセスはアンボックス化と呼ばれます。

3) JDK1.5以降では、自動ボックス化、自動アンボックス化機能が提供されています。

4) ラッパー クラスを使用すると、文字列を基本的なデータ型に変換できます。

おすすめ

転載: blog.csdn.net/guoweiting/article/details/120328683