java语言中的enum类型使用介绍

enum 类型:

Java 语言规范赋予枚举类型的功能非常的强大,它不仅是简单地将整形数值转换成对象,而是将枚举类型定义转变成一个完整功能的类定义。这种类型定义的扩展允许开发者给枚举类型增加任何方法和属性,也可以实现任意的接口。另外,Java平台也为 Enum 类型提供了高质量的实现,比如默认实现 Comparable 和 Serializable 接口,让开发者一般情况下不用关心这些细节。

定义enum类型:

文件:MyEnum.java

public enum MyEnum {
    major("myMajor","groupaaa"),
    school("mySchool","tsinghua"),
    age("myAge",30);    //该定制的Enum类型有定制方法,那么这里最后一个枚举值与后面代码要用分号';'隔开

    private String key;
    private String value;
    private int intvalue;

    private MyEnum(String key,String value){  //构造方法,只能是private或者friendly修饰
        this.key = key;
        this.value = value;
    }

    private MyEnum(String key,int value){   //构造方法,只能是private或者friendly修饰
        this.key = key;
        this.intvalue = value;
    }

    public String getKey(){
        return this.key;
    }

    public int getIntValue(){
        return this.intvalue;
    }

    public String getValue(){
        return this.value;
    }

}

使用该类型:

文件TestEnum.java

public class TestEnum {

public static void main(String[] args) {
    System.out.println(MyEnum.age.getKey());
    System.out.println(MyEnum.age.getIntValue());
    System.out.println(MyEnum.age);
}
}

输出:
    myAge
    30
    age

使用enum注意事项:

enum 类型不支持 public 和 protected 修饰符的构造方法,因此构造函数一定要是 private 或 friendly
的。也正因为如此,所以枚举对象是无法在程序中通过直接调用其构造方法来初始化的。

定义 enum
类型时候,如果是简单类型,那么最后一个枚举值后不用跟任何一个符号;但如果有定制方法,那么最后一个枚举值与后面代码要用分号’;’隔开,不能用逗号或空格。

由于 enum 类型的值实际上是通过运行期构造出对象来表示的,所以在 cluster
环境下,每个虚拟机都会构造出一个同义的枚举对象。因而在做比较操作时候就需要注意,如果直接通过使用等号 ==
操作符,这些看似一样的枚举值一定不相等,因为这不是同一个对象实例。

更多使用场景,例如enum用户switch语句,见:
Java 语言中 Enum 类型的使用介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Javaenum类型是一种特殊的类型,它可以用来定义一组有限的常量。enum类型Java语言的一个关键字,可以用来定义枚举类型。每个enum常量都是enum类型的一个实例。enum类型可以用来定义枚举类型,例如月份、星期、颜色等。 例如: ``` enum Season { SPRING, SUMMER, FALL, WINTER } ``` 上面代码定义了一个枚举类型Season,它有4个枚举常量:SPRING、SUMMER、FALL和WINTER。 enum类型也可以带有构造函数和方法,带有构造函数和方法的enum类型需要利用关键字enum定义 ``` enum Color { RED("红色", 1), GREEN("绿色", 2), BLUE("蓝色", 3); private String name; private int index; private Color(String name, int index) { this.name = name; this.index = index; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } } ``` 上面代码定义了一个枚举类型Color,它有3个枚举常量:RED、GREEN和BLUE。带有构造函数和方法的enum类型可以更方便的存储和获取枚举常量的信息。 总结:Javaenum类型是一种特殊的类型,它可以用来定义一组有限的常量,可以避免使用常 ### 回答2: Javaenum类型是一种特殊的数据类型,它用于定义一组常量。常量是指在程序运行期间不会改变的值。枚举类型可以以更简洁和可读性好的方式来表示一组相关常量。 枚举类型Java由关键字enum来定义,它能够包含一个或多个枚举常量。每个枚举常量都拥有自己的名称和值。我们可以通过枚举常量的名称来引用它们,并且无法对枚举常量进行更改。 枚举类型可以具有方法、构造函数和字段,就像普通的Java类一样。使用enum定义的枚举类型默认继承自java.lang.Enum类。此外,枚举类型还可以实现接口,从而使枚举常量能够具备更多的行为。 枚举类型Java的应用非常广泛,它主要用于定义一组固定的常量,例如季节、星期几、颜色等。我们可以通过enum类型提供的方法来遍历枚举常量,比如values()方法可以返回枚举类型的所有常量,valueOf()方法可以根据常量名获取枚举常量。 使用枚举类型有许多好处,它可以提供更好的类型安全性,避免了使用原始类型常量的麻烦。此外,枚举类型在编码过程也可以增加可读性,并且它们的实例是线程安全的。 总之,Javaenum类型是一种非常有用的特性,它提供了一种更好的方式来定义和使用常量。通过使用enum类型,我们可以让代码更具可读性和可维护性。 ### 回答3: Javaenum类型是一种特殊的数据类型,用于定义一组常量。枚举类型可以认为是一个固定值的集合,比如一周的天数或是一年的季节。 在Java使用关键字enum来定义一个枚举类型。枚举类型的每个常量都是唯一且有固定值的,它们可以通过枚举类型的名称来访问。 枚举类型的定义方式如下: enum Season { SPRING, SUMMER, AUTUMN, WINTER } 在上面的代码,定义了一个名为Season的枚举类型,其包含了四个常量:SPRING、SUMMER、AUTUMN和WINTER。 枚举类型可以用于switch语句,让代码更加简洁和易读。例如: Season season = Season.SUMMER; switch (season) { case SPRING: System.out.println("春天"); break; case SUMMER: System.out.println("夏天"); break; case AUTUMN: System.out.println("秋天"); break; case WINTER: System.out.println("冬天"); break; } 除了常量之外,枚举类型还可以有构造方法、成员变量和成员方法。可以通过修改枚举类型的构造方法来给每个常量赋予不同的属性。 总之,Javaenum类型是一种方便、灵活且易于使用的数据类型,适用于定义一组固定值的常量。通过使用枚举类型,可以提高代码的可读性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值