当前位置: 首页 > news >正文

Java基础:枚举类enum入门案例

1.基础枚举定义与使用: 

package com.zxy;

public class Main {
    public static void main(String[] args) {
//        获取枚举值
        cars car = cars.BMW;
        switch (car){
            case BMW :
                System.out.println("BMW");
                break;
            case BENZ :
                System.out.println("BENZ");
                break;
            case AUDI :
                System.out.println("AUDI");
                break;
        }
//      增强for循环遍历枚举
        for(cars cars:cars.values()){
            System.out.println(cars);
        }

    }
}
enum cars{
    BMW, BENZ, AUDI;
}

输出:

红色
所有颜色:
RED
GREEN
BLUE

2.带属性和方法的枚举 

package com.zxy;

public class Main2 {
    public static void main(String[] args) {
        Status status = Status.UnReady;
        System.out.println(status);
        System.out.println("状态码:"+status.getNum());
        System.out.println("状态:"+status.getStatusName());

//        values()返回枚举名数组
        Status[] values = Status.values();
        for (Status status1 : values) {
            System.out.println(status1);
        }
//        valueOf()返回枚举名
        Status status2 = Status.valueOf("UnReady");
        System.out.println(status2);
    }
}

enum Status {
    UnReady(0, "未准备"),
    Ready(1, "已准备"),
    Start(2, "已启动");

    private final Integer Num;
    private final String statusName;

    public Integer getNum() {
        return Num;
    }

    public String getStatusName() {
        return statusName;
    }

    Status(int Num, String statusName) {
        this.Num = Num;
        this.statusName = statusName;
    }
}

UnReady
状态码:0
状态:未准备
UnReady
Ready
Start
UnReady

总结:

  • values 返回枚举值数组
  • valueOf(String name) 返回枚举值
  • 枚举类构造方法 默认private
  • 枚举类属性 final修饰
http://www.dtcms.com/a/66580.html

相关文章:

  • 深入浅出C++ STL:统领STL全局
  • RGV调度算法(三)--遗传算法
  • 响应式数据和双向绑定关系
  • 监控快手关注列表更新以及去视频水印视频
  • qt 自带虚拟键盘的编译使用记录
  • Unity 使UI始终朝向摄像机
  • Operator <=> (spaceship operator)
  • AI赋能办公效率的革命(以DeepSeek为例)
  • AI日报 - 2025年3月14日
  • C语言 第四章 数组(3)
  • 【微知】tmux如何在一个会话的1个窗口中水平分割或者垂直分割窗口?(垂直 Ctrl + b, %; 切换Ctrl + b, 方向键; ctrl d关闭)
  • 电子学会—2024年12月青少年软件编程(图形化)二级等级考试真题——魔法扫帚
  • 使用 PresentMon 获取屏幕帧率
  • 用于 RGB-D 显著目标检测的点感知交互和 CNN 诱导的细化网络
  • 21.dirsearch:Web 路径扫描工具
  • C语言高级进阶3
  • “Ubuntu禁止root用户通过SSH直接登录”问题的解决
  • 58.Harmonyos NEXT 图片预览组件架构设计与实现原理
  • hackme靶场攻略
  • CSV文件保存后内容缩在首格内
  • 基于Java 童装在线销售系统(源码+lw+部署文档+讲解),源码可白嫖!
  • conda创建Python虚拟环境的原理
  • 线性代数(1)用 excel 计算鸡兔同笼
  • d3_v7 基于 d3.arc()生成径向柱状图
  • CMake
  • 多线程与并发编程 面试专题
  • SQLAlchemy系列教程:批量插入数据
  • React Vue 项开发中组件封装原则及注意事项
  • 几个金融衍生产品:
  • 浙江大学第四讲:DeepSeek模型优势:算力、成本角度解读(含PPT及直播回放)(文末附链接下载)