JAVA入门基础--浅谈枚举Enum类型
来源:互联网 发布:静态应力数据采集 编辑:程序博客网 时间:2024/05/16 10:55
Java枚举Enum在实际项目中也使用较为广泛的。最常用的是定义性别,如:
public enum Sex {MAN,WOMEN}
枚举类型是编程中的一个普通用语,可理解为有限元素的集合。
枚举也是一种特殊的Java类。但也有较为特殊的地方:
(1)构造方法默认是无参的,并且是private的,也可以重写构造函数。
(2)可以在枚举中定义属性、方法。
(3)枚举类型的中成员都是静态、不可以改变的常量(public final static)。
上面的Sex枚举案例中,其默认构造函数是private的,无参的。
private Sex(){}
下面定义一个成绩等级枚举类型实例,分数85-100为EXCELIENT,75-85为GOOD,60-75为PASS,0-60为FAILURE。
定义成绩等级枚举类型Grade:
package com.eyugame.enumdemo;/** * 成绩等级枚举类型 * * <pre> * 分数85-100为EXCELIENT,75-85为GOOD,60-75为PASS,0-60为FAILURE。 * </pre> * * @author gerdan * */public enum Grade {EXCELIENT(85, 100), GOOD(75, 85), PASS(60, 75), FAILURE(0, 60);private int min;private int max;/** * 构造方法,注意枚举的构造使用private修饰 * @param min 最小分数 * @param max 最大分数 */private Grade(int min, int max) {this.max = max;this.min = min;}public int getMin() {return min;}public int getMax() {return max;}/** * 重写Enum的valueOf()方法 * 传入分数score,返回成绩等级 * Grade.values()获取全部的枚举成员 * @param score 分数 * @return 成绩等级 */public static Grade valueOf(int score){for(Grade grade:Grade.values()){if(score>grade.min && score<grade.max)return grade;}return null;}}
测试类:
package com.eyugame.enumdemo;/** * 成绩等级测试 * @see com.eyugame.enumdemo.Grade * @author gerdan * */public class GradeDemo {public static void main(String[] args) {//调用valueof()静态方法Grade grade = Grade.valueOf(62);switch (grade) {case EXCELIENT:System.out.println("优秀");break;case GOOD:System.out.println("良好");break;case PASS:System.out.println("及格");break;case FAILURE:System.out.println("不及格");break;}}}
上面案例中,我们重写了vauleOf()方法,通过valueOf()传入一个分数,就可以返回相应的枚举常量,应该将分数转换成等级的操作定义在枚举内部。
0 0
- JAVA入门基础--浅谈枚举Enum类型
- Java enum枚举类型基础
- 0042 JAVA枚举类型enum【基础】
- Java基础三:enum枚举类型
- 浅谈java枚举(enum)
- Java enum 枚举类型
- JAVA枚举类型Enum
- [Java] enum 枚举类型
- Java enum 枚举类型
- java enum 枚举类型
- java枚举类型enum
- Java Enum 枚举类型
- Java枚举类型enum
- Java Enum 枚举类型
- java枚举类型 Enum
- Java枚举类型enum
- java Enum枚举类型
- java enum 枚举类型
- 第二篇,设计华氏摄氏温度转换
- Ubuntu网络配置以DHCP方式配置网卡
- opencv中svm支持向量机c++简单例子introduction_to_svm.cpp坐标次序问题
- 指针和数组实例解析(二)
- C语言未定义行为一览
- JAVA入门基础--浅谈枚举Enum类型
- 点击回车登录
- xcode 使用zbarsdk
- CruiseControl.NET持续集成实践
- 批量校验android apk包的渠道号 工具
- JAVA学习笔记--this的用法
- 十六周——判断两个有序数组中是否存在相同的数字
- 内部排序算法之希尔排序
- 想法