实现方式一:
publicenum Operation {PLUS, MINUS, TIMES, DIVIDE;double apply(double x, double y) {switch (this) {case PLUS:return x + y;case MINUS:return x - y;case TIMES:return x * y;case DIVIDE:return x / y;}thrownew AssertionError("Unknow op:" + this);}
} 实现方式二:特定于常量的方法实现(constant-specific method implementation)publicenum Operation {PLUS {double apply(double x, double y) {return...
引用并转载于:http://blog.csdn.net/ishallwin/article/details/94402511.什么是枚举: 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。 例如:星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。 在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场。 枚举是限定有限可能值的一...
enum枚举JDK1.5以前枚举的写法/*** java5.0以前,定义枚举类。类中的对象是有限的* @author amber**/publicclass Season {privatefinal String seasonName;privatefinal String seasonDescription;private Season(String seasonName, String seasonDescription) {this.seasonName = seasonName;this.seasonDescription = seasonDescription;}public String getSeasonName() {return seasonName;}public String getSeasonDescriptio...
有时候,变量的取值只在一个有限的集合内。例如:pizza的大小只有小、中、大和超大这四种尺寸。当然,可以将这些尺寸分别编码为1、2、3、4或者S、M、L、X。但这样存在着一定的隐患。在变量中很有可能保存的是一个错误的值(如0和m)。针对这种情况,可以自定义枚举类型。枚举类型包括有限个命名的值。例如,enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE};现在,可以声明这种类型的变量:Size s = Size.MEDIUM;
Size类型的变量只能存储...
很多人也许会尝试写下这样的代码:ResultStructureEnum type = ResultStructureEnum.valueOf(userType);
switch (type) {
case ResultStructureEnum.STUDENT:...break;
case ResultStructureEnum.TEACHER:...break;
case ResultStructureEnum.PARENT:...break;
...
}
# 这样编译不会通过,提示case后必须是一个常量
正确的写法:ResultStructureEnum type = ResultStructureEnum.valueOf(userType);
switch (type) {
case STUDENT:.....
一. 出现背景:在JDK1.5之前,我们定义常量是这种:public static final String RED = “RED”;在JDK1.5中增加了枚举类型,我们能够把相关的常量分组到一个枚举类中:public enum Color {RED, GREEN, BLUE;
}使用的时候能够这样:Color c = Color.RED二. 枚举特点:1. 枚举enum是一个特殊的Java类。它继承自java.lang.Enum,继承了非常多Enum的方法。但枚举类是一个不能够被继承的final类2. 枚举类能够定义在interface或class中。当...
枚举可以限定类的值只是有限个,例如:星期,只有星期一到星期天语法案例: 原文:https://www.cnblogs.com/wrf-hsj/p/10109854.html
我们都知道,Enum特性是jdk5引入的,表面上和类、接口属于同一层次,那么我们反编译class文件会出现什么呢?首先,我写了一个简单的Enum,如下所示:public enum Sex {MALE("男"),FEMALE("女");private String desc;Sex(String desc) {this.desc = desc;}
}
编译:javac Sex.java用jad工具反编译:jad Sex.class结果如下所示:public final class Sex extends Enum
{public static Sex[] values(){return (Sex[])$VALUES.clone();}...
http://www.cnblogs.com/wenruo/p/5349614.htmljava的枚举通过关键字enum实现。可以理解为一个类,不过这个类由编译器自动加了一些方法。static values()方法用来按照enum常量的声明顺序 产生由这些常量值构成的数组ordinal 表示某个特定enum常量的声明顺序toString() 以显示每个enum实例的名字可以在switch语句中使用,但是注意case处直接写常量,不加enum的名字。 1enum Spiciness {2// 用大写字母表示 3 NOT, MILD, MEDIUM,...
public class TestSeason {public static void main(String[] args) {Season spring = Season.SPRING;System.out.println(spring);spring.show();System.out.println(spring.getSeasonName());}
}
//枚举类
class Season{//1.提供类的属性,声明为private final private final String seasonName;private final String seasonDesc;//2.声明为final的属性,在构造器中初始化。private Season(String seasonName,String seasonDesc){...
Java枚举枚举类型是什么JDK5引入了一种新特性,关键字enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这就是枚举类型。一个枚举的简单例子enum SeasonEnum {SPRING,SUMMER,FALL,WINTER;
}枚举类的常用方法Enum 常用方法有以下几种:name():返回enum实例声明时的名字ordinal();返回一个int值,表示enum 实例在声明的次序equals();返回布尔值,enum实例判断相等compareTo();比较e...
如果项目中的一个页面跳转功能存在10个以上的if else判断,想要做一下整改一、什么是策略模式策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重If判断问题。1.环境(Context)角色:持有一个Strategy的引用。2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。3.具体策略(ConcreteStrategy)角色:包...
public enum Color{ GREEN,YELLOW,RED} public class TrafficLight{ Color color=Color.RED; public void change(){ switch(color){ case RED: color=Color.GREEN; break; case YELLOW: color=Color.RED; break; case GREEN: color=Color.YELLOW; break; } } }原文:htt...
枚举定义:enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型, 字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变 量取值不能超过定义的范围。应该说明的是,枚举类型是...
枚举类简介如果有必要定义一组常量的时候使用所有的枚举类型隐性地继承自 java.lang.Enum,枚举实质上还是类.每一个枚举中的成员,就相当于枚举的一个对象,默认都是public static final修饰的如果用到枚举的高级特性,建议不如定义一个普通类,否则会使问题复杂化一般常量都是使用大写的枚举类创建1enum Season{
2SPRING, SUMMER,AUTUMN,WINTER
3 }View Code实战 1 2 Season season = Season.AUTUMN;3 4switch(season){5case SPRIN...