首页 > 编程知识 正文

java枚举类型集合(java实体类中枚举怎么定义)

时间:2023-12-24 12:05:35 阅读:320586 作者:YTTY

本文目录一览:

java枚举类型

枚举是一种特殊的数据类型,和类(class)是同一个级别,例如定义一个类Test,会有一个源文件Test.java,编译会有一个字节码Test.class,那么定义一个枚举类型Myenum,编译也会产生Myenum.class。

作用:存储了一系列数据,保证数据的一个有效取值。

通常用到的地方是传递接口参数的时候,为了保证能传递一个合适的值,而不需要验证这个值是否合法,那么接口参数可以设置为枚举类型,这里说的接口不是interface,而是只针对开发的不同层之间调用。

Java中vector集合枚举,和枚举类型enum有什么区别吗?

现在枚举都是淘汰的东西,不过还是说一下,枚举不是类,枚举可以看成是一个集合,比如你代码中的weekday,现在大部分程序员编程都是用枚举定义常量,比如下面这段: enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } 里面枚举就是起定义常量的作用

Java枚举类型怎么使用

举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

1、常量的使用

在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

总结:

1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。

2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。

如何使用java中的枚举类

static final通常跟的是一个int类型的常数,所以有时候可以用int型代替枚举

在有些时候需要输出这个枚举量的名字(比如January),上面的方法输出的是int值,用类的话可以把名字一起输出

总的来说前者消耗资源比较少,后者更符合枚举的定义

枚举的确是一个类,在JDK1.4及以前,没有enum这个用法,那时候都是使用类来建立的,在《Java编程思想》中介绍了一类写法(详见第三版的章节8.1.3群组常量);JDK5以后,enum被引入,本质上就是一个类,所以可以被继承,总体思路和第三版这个写法类似,只是换了个名字(《Java编程思想》第四版第19章专门讲这个)

补充:我把早期的例子给出吧,你看一下,这就是早期的枚举的方法:

public final class Month{

private String name;

private Month (String nm){name=nm;}

public String toString(){return name;}

public static final Month

JAN=new Month("January"),

FEB=new Month("February"),

MAR=new Month("March"),

APR=new Month("April"),

MAY=new Month("May"),

JUN=new Month("June"),

JUL=new Month("July"),

AUG=new Month("August"),

SEP=new Month("September"),

OCT=new Month("October"),

NOV=new Month("November"),

DEC=new Month("December");

public static final Month month[]={

JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC

};

public static final Month number(int ord){

return month[ord-1];

}

//main

public static void main(String args[]){

Month m=Month.JAN;

System.out.println(m);

m=Month.number(12);

System.out.println(m);

System.out.println(m==Month.DEC);

System.out.println(m.equals(Month.DEC));

System.out.println(Month.month[3]);

System.out.println(Month.APR);

}

}

java什么是枚举类型

你可以理解为枚举也是一个类,但是这个类只有在内部声明的几个对象,不可新建对象。当你想使用枚举类的对象的时候,就像使用类的静态资源一样就行了。

怎么使用java中的枚举方法

怎么解释枚举呢。枚举的定义就是一个有限值的集合。一个枚举类型的变量它的值只可能是类型值中的一个。

所以 Drection 是类型名,Drection drection 则是此类型的变量,变量的值应该是类型里边所列的值中的一个,如果单写个 WEST跟本不知道它是什么,所以要加类名限定 即 Drection.WEST. 于是,对一个枚举变量赋值的样子就像这样。

 if(drection==Drection.WEST) return true;   String west="WEST"; drection.toString().equals(west) return true;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。