项目组网站建设方案书,最大的中文搜索引擎,义乌进货网平台,杭州萧山区专门做网站的公司Java语言的强大之处在于它提供了多种多样的类库#xff0c;从而大大提高了程序的编程效率和质量。
一、枚举
事先考虑到某一变量可能的取值#xff0c;尽可能用自然语言忠表意清楚的单词来表示它的每一个值#xff0c;用这中思路定义的类型被称为枚举类型。 枚举事由一组固…Java语言的强大之处在于它提供了多种多样的类库从而大大提高了程序的编程效率和质量。
一、枚举
事先考虑到某一变量可能的取值尽可能用自然语言忠表意清楚的单词来表示它的每一个值用这中思路定义的类型被称为枚举类型。 枚举事由一组固定的常量组成的类型。在Java中每个枚举都继承java.lang.Enum类使用关键字enum定义。
语法格式
访问修饰符 enum 枚举名{常量1[常量2……[ ; ]]//[其他成员]
}在枚举中可以定义多个常量表示不同的枚举值即枚举元素之间用逗号隔开。在枚举中可以定义其他成员包括构造方法等置于枚举常量之后。可以使用“枚举名.常量名”的形式取出枚举中的指定内容。
代码示例
public enum Gender{Male,Female;
}在以上代码中Gender中自定义的枚举类型里包含Male、Female两个数据。 在Java中通常使用枚举表示一组有限的值实现对输入的值进行约束。下面通过示例学习在程序中如何定义和使用枚举。
代码示例
public enum Week {MON,TUE,WED,THU,FRI,SAT,SUN;
}
public class WeekTest {public void doWhat(Week day) {switch (day) {case MON:case TUE:case WED:case THU:case FRI:System.out.println(工作日努力写代码);break;case SAT:System.out.println(星期六休息看电影);break;case SUN:System.out.println(星期日休息打篮球);break;default:System.out.println(地球上一个星期就7天。);}}public static void main(String[] args) {WeekTest tnew WeekTest();t.doWhat(Week.THU);Week satWeek.SAT;t.doWhat(sat);for (Week w:Week.values()){t.doWhat(w);}}
}运行结果 在上面代码中Week.values()表示取得枚举中全部内容返回一个对象数组这是枚举本身支持的一个方法。除此之外关于Enum类的其他用法此处不深入讲解以后用到可自行查看API帮助文档 注意 在switch结构中可以使用枚举类型作为判断变量此时需注意case关键字后一定不能在枚举值前加枚举类型名如Week.THU否则会出现编译错误。 2.enum关键字表示的是java.lang.Enum类型即使用enum声明的枚举类型就相当于定义一个类此类默认继承java.lang.Enum类因此可使用其中定义的所有方法。 二、枚举的方法
方法描述T[] values()以数组形式返回枚举类型的所有成员T valueOf()将普通字符串转换为枚举实例int compareTo()比较两个枚举成员在定义时的顺序结果为负整数、零或正整数表示当前对象小于、等于或大于指定对象int ordinal()获取枚举成员的索引位置
代码示例
public enum Week {MON,TUE,WED,THU,FRI,SAT,SUN;
}public class EnumTest {public static void main(String[] args) {//遍历枚举System.out.println(****foreach遍历枚举元素****);for (Week w:Week.values()){System.out.println(w);}System.out.println(****获取枚举的个数****);System.out.println(一周有Week.values().length天);System.out.println(****使用索引遍历枚举元素****);for (int i 0; i Week.values().length; i) {System.out.println(索引Week.values()[i].ordinal()值Week.values()[i]。);}System.out.println(****枚举元素比较****);//字符串转换为枚举再进行比较System.out.println((Week.valueOf(MON)).equals(Week.MON));System.out.println(Week.FRI.compareTo(Week.TUE));}
}运行结果
****foreach遍历枚举元素****
MON
TUE
WED
THU
FRI
SAT
SUN
****获取枚举的个数****
一周有7天
****使用索引遍历枚举元素****
索引0值MON。
索引1值TUE。
索引2值WED。
索引3值THU。
索引4值FRI。
索引5值SAT。
索引6值SUN。
****枚举元素比较****
true
3从上面示例中可看出枚举具有类似数组的特征每个枚举元素都默认有一个对应的索引值表示枚举元素的位置初始值从0开始能够通过索引访问枚举元素。同时通过调用枚举类中的方法可以实现 更多样化的数据操作大大提高了编码效率避免错误发生简化代码。