Wrapper、Enumクラス
Rapperクラス(Wrapperクラス)
元のタイプの値からメソッドを呼び出す必要がある場合や、オブジェクトタイプの引数が必要な場合がありますが、元の値をオブジェクトに変換する必要があります(たとえば、元の値を元の値に入れた場合).
このように元のタイプの値をオブジェクトとしてパッケージするクラスをRapperクラスと呼ぶ.
すべてのRapperクラスはjavaです.ランペッチにいます.
Rapperクラスリスト
基本タイプ
エンベロープクラス
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
ふへんせい
Rapperクラスは演算用に定義されたクラスではないので、インスタンスに格納されている値は変更できません.
に服を着せる
元の値をRapperクラスインスタンスに変換するプロセスをエッチングと呼び,逆のプロセスをエッチングと呼ぶ.
Integer num = new Integer(17); // 박싱
int n = num.intValue(); // 언박싱
System.out.println(n);
自動梱包、自動アンインストール
JDK 1.5からサポートされている機能は、必要に応じて裁縫や着脱を自動的に処理する機能です.
Character ch = 'X'; // Character ch = new Character('X'); : 오토박싱
char c = ch; // char c = ch.charValue(); : 오토언박싱
System.out.println(c);
インスタンス間の比較
予想される結果を得るには、演算子"="ではなくequalsメソッドを使用する必要があります.
public class Wrapper03 {
public static void main(String[] args) {
Integer num1 = new Integer(10);
Integer num2 = new Integer(20);
Integer num3 = new Integer(10);
System.out.println(num1 < num2); // true
System.out.println(num1 == num3); // false
System.out.println(num1.equals(num3)); // true
}
}
列挙タイプ
JDK 1.5からサポートされる構文は、enumキーワードで宣言されます.
長所
宣言と使用
enumキーワードを使用して宣言します.
列挙名{定数1名,定数2名,...}
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
(列挙名).定数として使用します.Rainbow.RED
定数値の設定
デフォルトでは0から1ずつ増加するように設定されています.
ユーザーが不規則な値を定数に設定したい場合は、定数名の横にカッコを付け、中に値を追加できます.ただし、この場合は、不規則な値を設定するためのフィールドとメソッドを別途追加する必要があります.
enum Rainbow {
RED(3), ORANGE(10), YELLOW(21), GREEN(5), BLUE(1),
INDIGO(-1), VIOLET(-11);
private final int value;
Rainbow(int value) { this.value = value; }
public int getValue() { return value; }
}
Enumクラス
java.lang packageのクラス、すべての列挙体の祖先クラス.
values()
列挙体のすべての定数を格納する配列を生成し、返します.
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
public class Enum01 {
public static void main(String[] args) {
Rainbow[] arr = Rainbow.values();
for (Rainbow rb : arr) {
System.out.println(rb); // 상수 이름들 출력
}
}
}
valueOf()
渡された文字列と同じ名前の列挙体の定数を返します.
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
public class Enum02 {
public static void main(String[] args) {
Rainbow rb = Rainbow.valueOf("GREEN");
System.out.println(rb); // GREEN
}
}
ordinal()
列挙体定数定義の順序(0から)を返します.
enum Rainbow {
RED(3), ORANGE(10), YELLOW(21), GREEN(5), BLUE(1),
INDIGO(-1), VIOLET(-11);
private final int value;
Rainbow(int value) { this.value = value; }
public int getValue() { return value; }
}
public class Enum04 {
public static void main(String[] args) {
System.out.println(Rainbow.YELLOW.ordinal()); // 2
}
}
その他の方法
http://tcpschool.com/java/java_api_enumを参照
Reference
http://tcpschool.com/java/java_api_wrapper
http://tcpschool.com/java/java_api_enum
Reference
この問題について(Wrapper、Enumクラス), 我々は、より多くの情報をここで見つけました https://velog.io/@namgeon1106/Wrapper-Enum-클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol