枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

1、常量的使用 

     在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

package com;
public enum Color {
RED, GREEN, BLANK, YELLOW
}

  使用

package com;
public class B {
public static void main(String[] args) {
System.out.println( isRed( Color.BLANK ) ) ;  //结果: false
System.out.println( isRed( Color.RED ) ) ;    //结果: true
}
static boolean isRed( Color color ){
if ( Color.RED.equals( color )) {
return true ;
}
return false ;
}
}

  或者 switch 的使用

package com;
public class B {
public static void main(String[] args) {
showColor( Color.RED );
}
static void showColor(Color color){
switch ( color ) {
case BLANK:
System.out.println( color );
break;
case RED :
System.out.println( color );
break;
default:
System.out.println( color );
break;
}
}
}

  

2、自定义函数

package com;
public enum Color {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
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;
}
}

  使用

package com;
public class B {
public static void main(String[] args) {
//输出某一枚举的值
System.out.println( Color.RED.getName() );
System.out.println( Color.RED.getIndex() );
//遍历所有的枚举
for( Color color : Color.values()){
System.out.println( color + "  name: " + color.getName() + "  index: " + color.getIndex() );
}
}
}

  结果

红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4

总结:

1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。

2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。

Java 枚举类的基本使用相关推荐

  1. Java枚举类使用方式

    Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...

  2. 比起睡觉,我更喜欢刷巨详细的Java枚举类,这是来自猿人的自觉呀

    零基础学习之Java枚举类 概述 JDK1.5之前 创建枚举类 代码示例 JDK1.5之后 创建枚举类 代码示例 枚举类继承父类 基本介绍 代码示例 枚举类实现接口 基本介绍 代码示例 枚举类实现单例 ...

  3. 学妹问我Java枚举类与注解,我直接用这个搞定她!

    很多人问我学妹长什么样,不多说 上图吧! 学妹问我Java枚举类与注解,我直接一篇文章搞定! 一.枚举类 ① 自定义枚举类 ② enum关键字定义枚举类 ③ enum 枚举类的方法 ④ enum 枚举 ...

  4. java枚举类中字段有没有必要加final____枚举类字段 Field ‘xxx‘ may be ‘final‘

    java枚举类中字段有没有必要加final 今天在写一个系统统一返回码的枚举类时候,突然想到一个问题,当不小心手抖给枚举类自动生成了set方法,而恰巧在用的地方不小心用了set方法,从而修改了code ...

  5. JAVA 枚举类的初步理解

    JAVA 枚举类的初步理解 现在Java的枚举类在真实项目中已经用的比较频繁,比静态常量更好用,也更有限定性,enum类可以用来表示有限的类对象,比如星期.月份.性别或者项目中的产品类型 像诸如此类的 ...

  6. java 枚举类组合在一起_Java,.NET,但为什么在一起?

    java 枚举类组合在一起 十二年前,Sun微系统公司大张旗鼓地宣布了一种新的编程语言和环境,用于使网页更具动态性和"活力". 当然,现在,Java编程语言是一种无处不在的工具,它 ...

  7. java 枚举类型enum ppt,关于JAVA枚举类使用的异常

    当前位置:我的异常网» J2SE » 关于JAVA枚举类使用的异常 关于JAVA枚举类使用的异常 www.myexceptions.net  网友分享于:2013-01-24  浏览:5次 关于JAV ...

  8. Java枚举类使用要点

    Java枚举类 Java中的枚举类型定义使用enum关键字,定义时,系统默认继承Enum抽象类.先来看一下枚举类的使用. enum Sex {// 枚举对象必须要在第一行MAIL("男&qu ...

  9. Java枚举类的写法

    Java枚举类的写法 枚举也是一个类(枚举对象,属性,构造器,get方法),由于是枚举,一般我们只需要得到值,而不需要set值

  10. Java枚举类使用和总结

    1.枚举类使用情况一: 1 package com.bie.util; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /** 7 ...

最新文章

  1. 第一个项目的需求分析
  2. 皮一皮:怎么才能让员工有干劲...
  3. 解决delphi10.2.3 android tools闪退
  4. Linux系统中如何关闭触摸鼠标
  5. mybatis 批量查询参数语句
  6. Vue官网todoMVC示例
  7. linux gui编程语言,使用 Red 语言编写 GUI 应用程序
  8. 使用开源的openssl的md5头文件,实现对于文件的md5代码
  9. android 组件路由框架,XRouter:组件化路由框架
  10. 光线跟踪的几种常见求交运算
  11. 通信技术专业技术人员考试 动力与环境_2020年中级通信工程师动力与环境考试大纲...
  12. Til the Cows Come Home-Poj2387(最短路)
  13. STM32F412 串口接收不到数据的问题
  14. 小白学编程(CSS):跳动的文字
  15. ucos II 创建第一个任务之一
  16. Win7 BitLocker加密须了解的五件事
  17. php彩色教程,Photoshop简单制作立体彩色炫图
  18. 中国证券登记结算有限责任公司2023年度信息技术专业人员招聘正式启动
  19. 做网吧技术的学习方向,送给初入网吧的新手
  20. 个人整理的 Windows 下 .NET 开发必装的软件

热门文章

  1. split函数python_Python字符串split函数知多少【Python每日一个知识点第75期】
  2. 机器学习付费专栏的一些简介
  3. Python+Flask+Echart+WordCloud:豆瓣爬虫项目的可视化数据
  4. 【数据分析+建模案例】基于所给数据集对饭店流量指标进行预测
  5. 化工热力学补考成功,几天没有头脑了,赶紧赏自己几题Leetcode动态规划算法最长系列
  6. 四十、SPSS数据汇总,图表制作,频率分析和描述分析
  7. 十六、爬虫实战,多线程抓取毛豆新车的数据
  8. django的环境搭建(一)
  9. TPAMI 2020 | 高分辨率网络对计算机视觉任务的影响
  10. WWW 2020 | 信息检索中基于上下文的文本词项权重生成