博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java之枚举
阅读量:4946 次
发布时间:2019-06-11

本文共 1813 字,大约阅读时间需要 6 分钟。

1.定义

enum 是一种数据类型,与 全局常量比较相似,都是全局的并且是可以通过类名调用的

与全局常量区别

枚举功能更强大,可以有属性和方法    枚举比全局常量更加的规范

2.枚举特性

1)可以有属性以及set/get,方法,构造函数2)可以与switch连用3)可以重写toString方法,打印枚举对象时也会默认调用(官方不提供自动重写该方法)4)可以实现接口

3.获取枚举对象方法

【返回枚举属性值对应的对象】枚举.valueof(“属性值”)【返回所有枚举属性值对应的对象】枚举.values()【返回枚举对象】枚举.属性

4.枚举实例

代码:

枚举类

package com.qf.demo7;public enum Color {    // red,green,yellow,实际上是Color枚举类型对象    RED("红色",1),GREEN("绿色",2),YELLOW("黄色",3);    // 无论是否创建枚举对象   都一定需要加上 分号  否则编译报错    //枚举类可以添加属性和方法,如下    String name;    int id;    private Color(String name, int id) {        this.name = name;        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    // 枚举中可以重写 toString 但是官方不会提供      // 打印对象时,会帮助自动调用    @Override    public String toString() {        // TODO Auto-generated method stub        return "id="+id+",name="+name;    }}

测试类:

package com.qf.demo7;public class Test {    public static void main(String[] args) {        //1.获取枚举对象:类.属性        Color color= Color.YELLOW;//         System.out.println(color.getName()+" "+color.getId());        //2.获取枚举对象:类.valueOf()        Color color2 = Color.valueOf("RED");// 根据枚举属性值 得到 枚举对象        //3.获取所有属性值:类.values()        Color[] colors = Color.values();// 得到枚举中所有的属性对应的对象        for (Color color3 : colors) {            System.out.println(color3);        }        //4.枚举可以作为switch语句的表达式        switch (color2) {        case RED:            System.out.println("红色");            break;        case GREEN:            System.out.println("绿色");            break;        case YELLOW:            System.out.println("黄色");            break;        }    }}

转载于:https://www.cnblogs.com/TCB-Java/p/6809633.html

你可能感兴趣的文章