黑马程序员———Java1.5 新特性之枚举
来源:互联网 发布:网络摄像头破解教程 编辑:程序博客网 时间:2024/06/04 20:07
---------------------- android培训、java培训、期待与您交流! ----------------------
public class TestEnum {
/*最普通的枚举*/
public enum ColorSelect {
red, green, yellow, blue;
}
/* 枚举也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样. */
public enum Season {
// 枚举列表必须写在最前面,否则编译出错
winter, spring, summer, fall;
private final static String location = "Phoenix";
public static Season getBest() {
if (location.equals("Phoenix"))
return winter;
else
return summer;
}
}
//实现带有构造方法的枚举
public enum Temp {
/*通过括号赋值,而且必须有带参构造器和一属性跟方法,否则编译出错
* 赋值必须是都赋值或都不赋值,不能一部分赋值一部分不赋值
* 如果不赋值则不能写构造器,赋值编译也出错*/
absoluteZero(-459), freezing(32),boiling(212), paperBurns(451);
private final int value;
public int getValue() {
return value;
}
//构造器默认也只能是private, 从而保证构造函数只能在内部使用
Temp(int value) {
this.value = value;
}
}
public static void main(String[] args) {
/*
* 枚举类型是一种类型,用于定义变量,以限制变量的赋值 赋值时通过"枚举名.值"来取得相关枚举中的值
*/
ColorSelect m = ColorSelect.blue;
switch (m) {
/*注意:枚举重写了ToString(),说以枚举变量的值是不带前缀的
*所以为blue而非ColorSelect.blue
*/
case red:
System.out.println("color is red");
break;
case green:
System.out.println("color is green");
break;
case yellow:
System.out.println("color is yellow");
break;
case blue:
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());
}
}
}
结束语: 如果定义的枚举中有且仅有一个对象,该枚举可以理解为一种单例模式!!!!
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员———Java1.5 新特性之枚举
- 黑马程序员——Java1.5新特性之注解
- 黑马程序员——Java1.5新特性
- 黑马程序员——Java1.5新特性之泛型
- 黑马程序员—JDK1.5新特性之枚举enum
- 黑马程序员——Java1.5新技术之枚举
- 黑马程序员——Java1.6新特性
- 黑马程序员 高新技术——JAVA1.5新特性及反射
- 黑马程序员 java1.5版本新特性
- 黑马程序员--java1.5新特性
- 黑马程序员----java1.5新特性
- 黑马程序员-----java1.5新特性
- 黑马程序员-java1.5新特性
- java1.5新特性之枚举
- java1.5新特性之枚举总结
- 黑马程序员—Java中的JDK1.5新特性之枚举
- 黑马程序员—【Java高新技术】之eclipse开发工具枚举及JDK1.5新特性
- 黑马程序员_eclipse的使用和java1.5新特性以及枚举
- 解决VS2005与IE8相冲突的方法
- 求win7旗舰版下载地址
- openSUSE:Specfile guidelines
- TldLocationsCache tldScanJar 内存溢出
- Rdis客户端开发API包的介绍
- 黑马程序员———Java1.5 新特性之枚举
- Java类设计一些原则
- 如何配置 web.xml 正则表达式
- 什么是EAM?定义、原理、核心
- 如何选择网站的锚文本
- PlayBook模拟器的安装与设置
- PeekMessage & GetMessage
- matlab false(N)
- 收集的好的iphone开发个人博客地址(不断更新中)