JAVA枚举

枚举类型的使用:

定义一个枚举变量:

    enum Day{
        MOD,TUE,WED,THR,FRI;
    };

  可以直接输出枚举变量的字符串形式和利用switch输出,在JDK1.6及之前switch只识别int,char,enum等类型变量,而不识别String字符串,因此可以用枚举进行转换;同时可以调用values()方法对枚举变量进行遍历:

    public static String getval(Day i){
        switch (i) {
        case MOD:
            return "0";
        case TUE:
            return "1";
        case WED:
            return "2";
        case THR:
            return "3";
        case FRI:
            return "4";
        default:return "null";
        }
    }
        System.out.println(Day.FRI);
        String sval = getval(Day.WED);
        System.out.println(sval);

      for (Day day : Day.values()) {
        System.out.println(day);
      }

 

输出结果:

FRI
2
MOD
TUE
WED
THR
FRI

  enum 是一个普通的 class,它们都可以定义一些属性和方法,但是enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)但是可以实现其他接口,并实现接口中的方法。

在enum类中实现自定义方法:

 1     enum Day{
 2
 3         MOD(1),TUE(2),WED(3),THR(4),FRI(5);
 4
 5         private int val;
 6
 7         Day(int _val){
 8             this.val = _val;
 9         }
10
11         public String getDayvalue(){
12             return "$"+val;
13         }
14     };

调用枚举类中自定义的函数:

        for (Day day : Day.values()) {
            System.out.println(day.getDayvalue());
        }

输出结果:

$1
$2
$3
$4
$5
时间: 2024-10-13 19:07:52

JAVA枚举的相关文章

java 枚举常用操作

在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 public enum Color { } JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. Java代码 enum Signal { } public class TrafficLight { public void change() {

Java枚举测试

Java枚举定义 枚举值定义,在构造方法赋值,重写toString(); 测试类 package com.yjm.test; enum TestEnum { ye("yellow"),re("red"),gr("green"); private String str; public String getStr() { return this.str; } public void setStr(String str) { this.str = st

java枚举在android项目应用

今天修复一个公司很早以前的android应用功能,里面的代码逻辑已经完全错乱,然后发现返回的数据完全不对了.然后修复了整整两天.然后我重新整理了一遍,重构就算不上了.然后就用上了枚举. 什么是枚举?我以前也不懂,当时我看见公司的项目中使用了枚举当做项目一个控制,比如修改已经写好的app然后为一些手机厂商做定制版.可能要去掉广告,还有跳转到商店url都不同,特别是国内基本都没有google play.我们为了避免以后的修改,就会写个枚举来控制它. public enum Market { Defa

java枚举小结

在百度百科上是这样介绍枚举的: 在C#或C++,java等一些计算机编程语言中,枚举类型是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中,它是一种构造数据类型.枚举类型用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型. 而在java中,枚举扩大了这一概念,因为在java中,枚举已经称为一个类,因此完全具有类的特性. 我们都知道枚举是JDK1.5才推出的新概念,那么在此之前,我们如果想使用一些固定的常量集合,比如性别(2个),季节(4个),星期(7个)

java 枚举(enum)学习

之前没有用过枚举,不懂.今天找了些资料学习了,现在总结如下:(希望高手看到后批评指教) 枚举的作用: 1.限定某一类型的取值范围. 2.不再写public static final...(如果取值范围太广,就太麻烦了),但最终enum还是要转化成class类型,还是会加public static final... 一段代码说明为什么java要有enum类型: package good.good.study; public class EnumStudy2 { public static void

向Java枚举类型中添加新方法

除了不能继承enum之外,可将其看做一个常规类.甚至可以有main方法. 注意:必须先定义enum实例,实例的最后有一个分号. 下面是一个例子:返回对实例自身的描述,而非默认的toString返回枚举实例的名字. public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String nam

java枚举的使用

定义枚举 public enum YesOrNo { YES("是") , NO("否") ; private String text ; private int code ; YesOrNo(){ this.text = this.name() ; this.code = this.ordinal() ; } YesOrNo(String text){ this.text = text ; this.code = this.ordinal() ; } YesOrN

java 枚举类型分析

最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, BLUE_BAGE; } 编译不过. 我将赋值语句修改了以后,如下所示: public enum ColorSelect { RED_BAGE , GREEN_BAGE, BLUE_BAGE; } 编译通过.说明C++那样的赋值方法不适用java.所以,我需要弄清楚的是: 1. 在java平台上,如

java枚举怎么用的

package com.pingan.property.icore.pap.common.constants; /** * */public enum UMAuthStatusEnum implements BaseEnumI { // UM验证失败的几种原因 AUTHORIZATION_IS_NULL("0", "header auth信息为空"), UM_API_FAILED("1", "um系统API调用失败"); St

java枚举的定义

package com.sadhu; /** java枚举的定义 枚举中可以定义构造器.方法.字段 所有枚举类都集成了Enum类 */ public class Sample {     public enum Size//定义枚举     {         SMALL("S"),//调用构造器 每个枚举值都要调用构造器         MEDIUM("M"),         LARGE("L"),         EXTRA_LARGE(&