目標
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) ラッパー クラスを使用すると、文字列を基本的なデータ型に変換できます。