vue報錯Avoided redundant navigation to current location: “/xx“
阿新 • • 發佈:2020-12-26
技術標籤:java
列舉類
列舉是從jdk1.5開始引入的,引入新的型別--列舉,列舉指由一組固定的常量組成,屬性就是常量,java中的每一個列舉都繼承自java.lang.Enum類,當定義一個列舉型別時,每一個型別的成員都可以看作是Enum類的例項,這些列舉成員預設為 public static final 修飾,當使用列舉成員時,直接使用列舉名稱呼叫成員即可。
如何宣告列舉型別,和列舉常量?
//建立一個性別的列舉 public enum Gender{ //屬性就是常量 男,女; //這種建立的好處是? //1.型別安全 2.易於輸入 3.程式碼清晰 4.可讀性強大 }
思考一下,我們怎麼樣用上面這個列舉呢?
//建立一個人的類 public class Person{ //屬性 private String name;//姓名 private Gender gender;//性別 public String getName() { return name; } public void setName(String name) { this.name = name; } public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } }
測試列舉類
public class Test{ public static void main(String[] agrs){ //建立人的物件 Person person = new Person(); //怎麼給屬性賦值 person.setName("小麗"); person.setGender(Gerson.女); //賦值列舉型別,因為Gerson是列舉型別 //輸出資訊 System.out.println("名字是:"+person.getName()+"性別:"+person.getGender()); } }
練習題
為課程三個單元定義列舉:U1,U2,U3分別是 第一,第二,第三單元,程式設計輸出每個單元的學習目標
public enum Course{
U1,U2,U3;//代表三個單元
}
測試單元類
public class Test{
public static void main(String[] args){
Scanner sc=new Scanner(system.in);
System.out.println("請輸入1,2,3,");
int num=sc.nexInt();
//給三個單元定義一個統一的變數
CourseUns u;
//給三個單元賦值
if(num==1){
u=Course.u1;
}else if(num==2){
u=Course.U2;
}else {
u=Course.u3;
}
//這一題主要是鍛鍊大家用列舉型別作為switch裡面的條件,來執行相應的操作
switch(u){
case U1:
System.out.println("第一單元成績");
break;
case U2:
System.out.println("第二單元成績");
break;
case U1:
System.out.println("第三單元成績");
break;
default:
break;
}
}
}
Enum類的常用方法
例題一
values():以陣列的形式返回列舉型別的所有成員
通過呼叫列舉型別例項的values()方法可以將列舉的所有成員以陣列形式返回,也可以通過該方法獲取列舉的成員。
下面的示例建立一個包含3個成員的列舉型別Colour顏色類,然後呼叫values()方法輸出這些成員。
public enum Color {
//定義列舉型別
YELLOW, RED, GREEW;
}
public static void main(String[] args){
for(int i=0;i<)public static void main(String[] args) {
for (int i = 0; i < Color.values().length; i++) {
System.out.println("列舉成員:" + Color.values()[i]);
}
}
}
/*
列舉成員:YELLOW
列舉成員:RED
列舉成員:GREEW
*/
2.ordinal() 獲取列舉成員的索引為位置
通過列舉型別例項的ordinal()方法可以獲取一個成員在列舉的索引的索引位置。下面的例項建立一個3個成員的列舉型別Color類,然後呼叫ordinal()方法輸出成員及對應索引位置
public enum Color {
//定義一個列舉類
GREEN,YELLOW,RED;
}
public class Test {
public static void main(String[] args) {
for (int i = 0; i < Color.values().length; i++) {
System.out.println("索引" + Color.values()[i].ordinal() + ",值:" + Color.values()[i]);
}
}
}
/*
索引0,值:GREEN
索引1,值:YELLOW
索引2,值:RED
*/