「java枚举类有什么作用」java枚举的作用与好处
本篇文章给大家谈谈java枚举类有什么作用,以及java枚举的作用与好处对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java的enum到底有什么用?
- 2、java枚举类型有什么好处?请举个简单明了的例子
- 3、Java枚举有什么用? 写个简单例子给我看下啊谢谢.讲的不要太官方了.谢谢
- 4、java中的enum有什么用呢?
- 5、Java枚举类型怎么使用
java的enum到底有什么用?
1.关于 Java Enum
Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals 。是一种好的习惯。 JDK1.5 之前没有 Enum 这个类型,那时候一般用接口常量来替代。有了 JavaEnum 之后,可以更贴近的表示这种常量。
2. 如何使用 Java Enum
简单的用法: JavaEnum 简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:
//性别
public enum SexEnum {
male , female ;
}
//颜色
public enum Color {
RED , BLUE,GREEN,BLACK ;
}
枚举对象里面的值都必须是唯一的。
可以通过 Enum 类型名直接引用该常量,如 SexEnum.male,Color.RED.
复杂用法: Java 为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象,看个下面的例子:
WeekDay.java
/**
* @author admin
* 2015-12-03
* 定义一个枚举类型,代表星期一到星期日的7个缩写常量
* 同时还定义了枚举类型的属性day,该属性可以是final,也可是变量
* 同时还定义了该枚举类型的一个方法printDay
*/
public enum WeekDay {
Mon("Monday"), Tue("Tuesday"), Wed("Wednesday"), Thu("Thursday"), Fri(
"Friday"), Sat("Saturday"), Sun("Sunday");
/**定义枚举类型自己的属性**/
private final String day;
private WeekDay(String day) {
this.day = day;
}
/**定义枚举类型自己的方法**/
public static void printDay(int i){
switch(i){
case 1: System.out.println(WeekDay.Mon); break;
case 2: System.out.println(WeekDay.Tue);break;
case 3: System.out.println(WeekDay.Wed);break;
case 4: System.out.println(WeekDay.Thu);break;
case 5: System.out.println(WeekDay.Fri);break;
case 6: System.out.println(WeekDay.Sat);break;
case 7: System.out.println(WeekDay.Sun);break;
default:System.out.println("wrong number!");
}
}
public String getDay() {
return day;
}
}
WeekDayTest.java
/**
* @author admin
* 2015-12-03
* 测试枚举类型WeekDay.
*/
public class WeekDayTest {
public static void main(String args[]) {
for (WeekDay day : WeekDay.values()) {
System.out.println(day + "====" + day.getDay());
}
WeekDay.printDay(5);
}
}
输出结果为:
Mon====Monday
Tue====Tuesday
Wed====Wednesday
Thu====Thursday
Fri====Friday
Sat====Saturday
Sun====Sunday
Fri
java枚举类型有什么好处?请举个简单明了的例子
Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C, C++, C#, 或 Pascal人应该对列举有所了解,先看个例子:
public enum Season
一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,如 :
public interface Season {
static winter = 0;
static spring = 1; //etc..
}
引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都回自动获得一个数字值,从0开始,依次递增.看一个比较简单的enum实现的例子:
EnumDemo.java
package net.javagarage.enums;
/*
We can loop over the values we put into the enum
using the values() method.
Note that the enum Seasons is compiled into a
separate unit, called EnumDemo$Seasons.class
*/
public class EnumDemo {
/*declare the enum and add values to it. note that, like in C#, we don't use a ; to
end this statement and we use commas to separate the values */
private enum Seasons { winter, spring,
summer, fall }
//list the values
public static void main(String[] args) {
for (Seasons s : Seasons.values()){
System.out.println(s);
}
}
}
运行上述代码你回得到 以下结果:
winter
spring
summer
fall
Java枚举有什么用? 写个简单例子给我看下啊谢谢.讲的不要太官方了.谢谢
枚举类型用于指定种类的对象数目已经确定,而且只作标志使用的。
即:对象能够表达一定意义,却只是一个原子结构,没有更多属性,这样的对象在java中可以提高循环条件的判断效率,可用作为switch的条件。
假设武器的类型只有以下8种,则可定义:
enum 兵器 {刀,枪,剑,戟,斧,钺,钩,叉}
定义以及使用方法:
public class Test {
public static void main(String[] args) {
兵器 enu = 兵器.剑;
switch(enu){
case 刀 :
case 枪 :
case 剑 :
case 戟 :
case 斧 :
case 钺 :
case 钩 :
case 叉 :
}
}
}
事实上:枚举中的所有属性均为公有、静态而且为Enum类型的对象,枚举类型在创建完成的时候就把所有可能产生的该类型对象全部列了出来。
java中的enum有什么用呢?
enum也就是枚举,像一个集合,只不过集合里面的内容都固定了.
public enum Season3 {
SPRING("春天"),
SUMMER("夏天"),
AUTUMN("秋天"),
WINTER("冬天");
private String name;
private Season3(String name){
this.name = name;
}
public double getAvgTemp(){
switch(this){
case SPRING:return 10.2;
case SUMMER:return 25.8;
case AUTUMN:return 19.6;
case WINTER:return -3.6;
}
return 0.0;
}
public String getName(){
return name;
}
}
public class Test {
public static void main(String[] args) {
m3(Season3.SPRING);
}
public static void m3(Season3 season){
System.out.println(season.getName()+":"+season.getAvgTemp());
Season3[] allSeason = Season3.values();//返回枚举类中所有枚举值的一个数组
System.out.println(allSeason[0]);
}
}
Java枚举类型怎么使用
举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。
java枚举类有什么作用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java枚举的作用与好处、java枚举类有什么作用的信息别忘了在本站进行查找喔。