java枚举怎么编译不行的_java枚举类型
public classTestEnum {/*最普通的枚舉*/
public enumColorSelect {
red, green, yellow, blue;
}/*枚舉也可以象一般的類一樣添加方法和屬性,你可以為它添加靜態和非靜態的屬性或方法,這一切都象你在一般的類中做的那樣.*/
public enumSeason {//枚舉列表必須寫在最前面,否則編譯出錯
winter, spring, summer, fall;private final static String location = "Phoenix";public staticSeason getBest() {if (location.equals("Phoenix"))returnwinter;else
returnsummer;
}
}/*還可以有構造方法*/
public enumTemp {/*通過括號賦值,而且必須有帶參構造器和一屬性跟方法,否則編譯出錯
* 賦值必須是都賦值或都不賦值,不能一部分賦值一部分不賦值
* 如果不賦值則不能寫構造器,賦值編譯也出錯*/absoluteZero(-459), freezing(32),boiling(212), paperBurns(451);private final intvalue;public intgetValue() {returnvalue;
}//構造器默認也只能是private, 從而保證構造函數只能在內部使用
Temp(intvalue) {this.value =value;
}
}public static voidmain(String[] args) {/** 枚舉類型是一種類型,用于定義變量,以限制變量的賦值 賦值時通過"枚舉名.值"來取得相關枚舉中的值*/ColorSelect m=ColorSelect.blue;switch(m) {/*注意:枚舉重寫了ToString(),說以枚舉變量的值是不帶前綴的
*所以為blue而非ColorSelect.blue*/
casered:
System.out.println("color is red");break;casegreen:
System.out.println("color is green");break;caseyellow:
System.out.println("color is yellow");break;caseblue:
System.out.println("color is blue");break;
}
System.out.println("遍歷ColorSelect中的值");/*通過values()獲得枚舉值的數組*/
for(ColorSelect c : ColorSelect.values()) {
System.out.println(c);
}
System.out.println("枚舉ColorSelect中的值有:"+ColorSelect.values().length+"個");/*ordinal()返回枚舉值在枚舉中的索引位置,從0開始*/System.out.println(ColorSelect.red.ordinal());//0
System.out.println(ColorSelect.green.ordinal());//1
System.out.println(ColorSelect.yellow.ordinal());//2
System.out.println(ColorSelect.blue.ordinal());//3
/*枚舉默認實現了java.lang.Comparable接口*/System.out.println(ColorSelect.red.compareTo(ColorSelect.green));
System.out.println(Season.getBest());for(Temp t:Temp.values()){/*通過getValue()取得相關枚舉的值*/System.out.println(t+"的值是"+t.getValue());
}
}
}
總結
以上是生活随笔為你收集整理的java枚举怎么编译不行的_java枚举类型的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: java rx.observable_R
- 下一篇: java 支付重复问题_Airbnb支付
