列挙(Enum)メモ
4590 ワード
最近1つのSSMプロジェクトをして、中で列挙を使って、いくつか列挙についての文章を見て、ここで記録します.
1.列挙というキーワードはjava SE 5に導入するものであり、その前に列挙を用いるのは面倒である.2.列挙と定数が似ていることを知っていますが、定数と比較すると、この方法の優位性はどこにありますか.2.1まず列挙はクラスであり、使用時にコンパイル時にチェックを行い、エラーを避けることができる.2.2予め記録する値は、無効な値を受けることを避けるために受け入れることができる.
2.3必要な定数値を列挙クラスに配置しました(プロジェクトで定数とグローバル異常を格納するためにパッケージcommonを定義することがよくあります).では、これらの定数をどのように使用しますか?
Javaの各列挙はjavaから継承されます.lang.Enumクラス.列挙タイプを定義する場合、各列挙タイプメンバーはEnumクラスのインスタンスと見なすことができます.これらの列挙メンバーはデフォルトでfinal、public、staticによって修飾され、列挙タイプメンバーを使用する場合、直接列挙名を使用してメンバーを呼び出すことができます.
3.私たちはよく列挙をどのように使いますか.
3.1.プロジェクトでよく使用されるカスタム列挙方法:列挙で属性を定義したり、構造関数を定義したりすることができます.
3.2列挙は往々にしてswitch文と組み合わせて使用する.
4.EnumSet and EnumMap
この2つのクラスについては、まだ研究していません.必要な友达は次のリンクを見てもいいです.EnumSet and EnumMapポイントについてはこちら
列挙については先にこんなに多く言って、今彼に対する理解はまだ表面と存在して、後で新しい理解があって引き続き更新します.
1.列挙というキーワードはjava SE 5に導入するものであり、その前に列挙を用いるのは面倒である.2.列挙と定数が似ていることを知っていますが、定数と比較すると、この方法の優位性はどこにありますか.2.1まず列挙はクラスであり、使用時にコンパイル時にチェックを行い、エラーを避けることができる.2.2予め記録する値は、無効な値を受けることを避けるために受け入れることができる.
public enum PizzaStatus {
ORDERED,
READY,
DELIVERED;
}
2.3必要な定数値を列挙クラスに配置しました(プロジェクトで定数とグローバル異常を格納するためにパッケージcommonを定義することがよくあります).では、これらの定数をどのように使用しますか?
Javaの各列挙はjavaから継承されます.lang.Enumクラス.列挙タイプを定義する場合、各列挙タイプメンバーはEnumクラスのインスタンスと見なすことができます.これらの列挙メンバーはデフォルトでfinal、public、staticによって修飾され、列挙タイプメンバーを使用する場合、直接列挙名を使用してメンバーを呼び出すことができます.
.
PizzaStatus.ORDRED
PizzaStatus.READY
PizzaStatus.DELIVERED
3.私たちはよく列挙をどのように使いますか.
3.1.プロジェクトでよく使用されるカスタム列挙方法:列挙で属性を定義したり、構造関数を定義したりすることができます.
public enum ResponseCode {
SUCCESS(0, "SUCCESS"),
ERROR(1, "ERROR"),
NEED_LOGIN(10, "NEED_LOGIN"),
ILLEGAL_ARGUMENT(2, "ILLEGAL_ARGUMENT");
private final int code;
private final String desc;
ResponseCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
3.2列挙は往々にしてswitch文と組み合わせて使用する.
4.EnumSet and EnumMap
この2つのクラスについては、まだ研究していません.必要な友达は次のリンクを見てもいいです.EnumSet and EnumMapポイントについてはこちら
列挙については先にこんなに多く言って、今彼に対する理解はまだ表面と存在して、後で新しい理解があって引き続き更新します.