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

Java复习-26-枚举

枚举(替换多例设计)

目的(使用场景)

不用也没啥
定义一个描述性别的类,那么该对象只有两个:男、 女。或者描述颜色基色的类,可以使用: 红色、绿色、蓝色。

功能

用于定义有限个数对象的一种结构(多例设计进化版)

方法

enum 关键字

提供有enum的关键字,直接放在枚举类前。

enum Color{ // 枚举类RED,GREEN,BLUE ; // 实例化对象
}
public class JavaDemo {public static void main(String args[]) {Color c = Color.RED; // 获取实例化对象System.out.println(c);}
}

values 方法

可通过 values() 方法获得其中所有的内容。

enum Color{ // 枚举类RED,GREEN,BLUE ; // 实例化对象
}
public class JavaDemo {public static void main(String args[]) {for (Color c : Color.values()){System.out.println(c);}}
}

应用

枚举与 switch 处理

enum Color{ // 枚举类RED,GREEN,BLUE ; // 实例化对象
}
public class JavaDemo {public static void main(String args[]) {Color c = Color.RED; // 获取实例化对象switch(c) { // 直接支持枚举case RED:System.out.println("红色");break;case GREEN:System.out.println("绿色");break;case BLUE:System.out.println("蓝色");break;}}
}

实例应用

定义 person 类中,性别使用枚举类型。

enum Sex {MALE("男"), FEMALE("女");private String title;private Sex(String) {this.title = title;}public String toString(){return this.title;}
}
class Person {private String name;private int age;private Sex sex;public Person(String name, int age, Sex sex){this.name = name;this.age = age;this.sex = sex;}public String toString() {return "姓名: " + this.name + "、年龄:" + this.age + "、性别:" + this.sex;}
}
public class JavaDemo {public static void main(String args[]) {System.out.println(new person("张三", 24, Sex.MALE));  // 此处传入的参数就必须是由枚举中来}
}

对于该程序而言,不用枚举也能实现,因此对于枚举来说,愿意使用就使用,不愿意使用就不用。

http://www.lryc.cn/news/161477.html

相关文章:

  • NLP(六十八)使用Optimum进行模型量化
  • Tomcat多实例和负载均衡动静分离
  • 企业ERP和泛微OA集成场景分析
  • 31 WEB漏洞-文件操作之文件包含漏洞全解
  • qmake.exe xxx.pro -spec win32-g++ 作用
  • SpringMVC实现增删改查
  • React 配置别名 @ ( js/ts 项目中通过 webpack.config.js 配置)
  • Android 在TextView前面添加多个任意View且不影响换行
  • 字符串相加
  • uni-app直播从0到1实战
  • Python UI自动化 —— pytest常用运行参数解析、pytest执行顺序解析
  • LeetCode刷题笔记【25】:贪心算法专题-3(K次取反后最大化的数组和、加油站、分发糖果)
  • java基础面试题 第四天
  • postgresql-常用日期函数
  • 【业务场景】用户连点
  • zabbix企业微信告警
  • (高频面试1)Redis缓存穿透、缓存击穿、缓存雪崩
  • c++推箱子小游戏
  • SpringMVC:从入门到精通
  • jmeter 数据库连接配置 JDBC Connection Configuration
  • TVC广告片制作成本多少
  • 【Express.js】代码规范
  • Vue2+Vue3基础入门到实战项目(前接六 副线一)—— 面经 项目
  • QT tcpserver
  • Android adb shell svc 知识详解
  • Debian12系统下LAMP环境中Nubuilder4.5的安装
  • 百度超级链BaaS服务平台调研
  • 计算机网络之TCP/IP协议第二篇:OSI参考模型详解
  • Linux内核分析与应用2-内存寻址
  • 苍穹外卖 day12 Echats 营业台数据可视化整合