列挙類の詳細
5141 ワード
目次
1.紹介
1.1何が列挙類ですか?
1.1.1カスタムエニュメレート・コードのプレゼンテーション:
1.1.2enumキーワード定義エニュメレート・クラス
1.紹介
1.1何が列挙類ですか?
定義:クラスのオブジェクトは限定されています.たとえば:週:Monday(月)、…、Sunday(日曜日) 性別:Man(男性)、Woman(女性) 季節:Spring(春節)…Winter(冬) 注文状態:Nonpayment(未払い)、Paid(既払い)、Delivered(出荷済み)、Return(返品)、Checked(確認済み)Fulfilled(配付済み) 定数を定義する必要がある場合は、エニュメレート・クラスを使用することを強く推奨します.
1.1.1カスタムエニュメレート・コードのプレゼンテーション:
1.紹介
1.1何が列挙類ですか?
1.1.1カスタムエニュメレート・コードのプレゼンテーション:
1.1.2enumキーワード定義エニュメレート・クラス
1.紹介
1.1何が列挙類ですか?
定義:クラスのオブジェクトは限定されています.たとえば:
1.1.1カスタムエニュメレート・コードのプレゼンテーション:
package com.atguigu.java;
/**
* 、
* 1. : , 。
* 2. ,
* 3. , 。
*
* 、
* :jdk5.0 ,
* :jdk5.0, enum
*
* 、Enum :
* values() : 。 。
* valueOf(String str): 。 “ ”。 , :IllegalArgumentException。
* toString():
*
* 、 enum
* : , enum
* :
*
* @author wudi
* @create 2019 10:17
*/
public class SeasonTest {
public static void main(String[] args) {
Season spring = Season.SPRING;
System.out.println(spring);
}
}
//
class Season{
//1. Season :private final
private final String seasonName;
private final String seasonDesc;
//2. ,
private Season(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//3. :public static final
public static final Season SPRING = new Season(" "," ");
public static final Season SUMMER = new Season(" "," ");
public static final Season AUTUMN = new Season(" "," ");
public static final Season WINTER = new Season(" "," ");
//4. 1:
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4. 1: toString()
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
1.1.2enumキーワード定義エニュメレート・クラスpackage com.atguigu.java;
/**
* enum
* : java.lang.Enum
*
* @author wudi
* @create 2019 10:35
*/
public class SeasonTest1 {
public static void main(String[] args) {
Season1 summer = Season1.SUMMER;
//toString():
System.out.println(summer.toString());
// System.out.println(Season1.class.getSuperclass());
System.out.println("****************");
//values():
Season1[] values = Season1.values();
for(int i = 0;i < values.length;i++){
System.out.println(values[i]);
values[i].show();
}
System.out.println("****************");
Thread.State[] values1 = Thread.State.values();
for (int i = 0; i < values1.length; i++) {
System.out.println(values1[i]);
}
//valueOf(String objName): objName 。
Season1 winter = Season1.valueOf("WINTER");
// objName , :IllegalArgumentException
// Season1 winter = Season1.valueOf("WINTER1");
System.out.println(winter);
winter.show();
}
}
interface Info{
void show();
}
// enum
enum Season1 implements Info{
//1. , "," , ";"
SPRING(" "," "){
@Override
public void show() {
System.out.println(" ?");
}
},
SUMMER(" "," "){
@Override
public void show() {
System.out.println(" ");
}
},
AUTUMN(" "," "){
@Override
public void show() {
System.out.println(" ");
}
},
WINTER(" "," "){
@Override
public void show() {
System.out.println(" ");
}
};
//2. Season :private final
private final String seasonName;
private final String seasonDesc;
//2. ,
private Season1(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//4. 1:
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
// //4. 1: toString()
//
// @Override
// public String toString() {
// return "Season1{" +
// "seasonName='" + seasonName + '\'' +
// ", seasonDesc='" + seasonDesc + '\'' +
// '}';
// }
// @Override
// public void show() {
// System.out.println(" ");
// }
}