重学java 84.Java枚举

那些你暗自努力的时光,终究会照亮你前行的路

                                                                —— 24.6.24

一、枚举介绍(开发中表示状态

1.概述:

五大引用数据类型:类型、数组、接口、注解、枚举

2.定义:

public enum 枚举类名{
    
}

所有的枚举类父类都是Enum

3.定义枚举值

        a、枚举值特点:

        ① 都是static final,但是定义的时候不要写出来,写出来报错

        ② 写完所有的枚举值之后,最后加个;

        ③ 枚举值名字要大写 ——> 开发习惯

        b、使用:类名直接调用

        c、注意:每一个枚举值都是当前枚举类的对象

4.问题:

枚举类中的枚举值都是什么类型的?

本类类型

5.枚举类中的其他成员:构造

在枚举类中定义的构造,默认都是private

// State 状态
public enum State {
    // State DaiFaHuo = new State();
    DaiFaHuo,
    // State YiFaHuo = new State();
    YiFaHuo,
    // State YunShuZhong = new State();
    YunShuZhong,
    // State YiSongDa = new State();
    YiSongDa;

    private String name;
    private String address;

    private State(){
        this.name = "";
    }
}

6.枚举类的使用场最:

表示对象的状态

State

// State 状态
public enum State {
    // State DaiFaHuo = new State();
    // State DaiFaHuo = new State("待付款");
    DaiFaHuo("待付款"),
    // State YiFaHuo = new State();
    // State DaiFaHuo = new State("已发货");
    YiFaHuo("已发货"),
    // State YunShuZhong = new State();
    // State DaiFaHuo = new State("运输中");
    YunShuZhong("运输中"),
    // State YiSongDa = new State();
    // State DaiFaHuo = new State("已送达");
    YiSongDa("已送达");

    private String name;

    private State(){

    }

    private State(String name){
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Test文件

public class Demo345Test {
    public static void main(String[] args) {
        State yiSongDa = State.YiSongDa;
        System.out.println(yiSongDa);

        State yiFaHuo = State.YiFaHuo;
        System.out.println(yiFaHuo.getName());
    }
}

二、枚举的方法_Enum

String toString()        返回枚举值的名字

values()        返回所有的枚举值

valueof(String str)        将一个字符串转成枚举类型

public class Demo346EnumMethod {
    public static void main(String[] args) {
        String string = State.YiFaHuo.toString();
        System.out.println(string);

        System.out.println("——————————————————————————");
        State[] values = State.values();
        for (State value : values) {
            System.out.println(value);
        }

        System.out.println("——————————————————————————");
        State yisongda = State.valueOf("YiSongDa");
        System.out.println(yisongda);
        System.out.println(yisongda.getName());
    }
}

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值