枚举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 ) ) ;  //结果: falseSystem.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基础】——java枚举类型基本介绍相关推荐

  1. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  2. java基础(十一) 枚举类型

    枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...

  3. 诚之和:Java基础知识枚举Enum类介绍以及案例使用详解

    Java语言中的数据类型可以分为两大类,分别是基本数据类型和引用数据类型.本篇文章要介绍的枚举,就是属于Java的引用数据类型.下面,将为大家详细介绍Java中的枚举,以及具体的使用案例. 一.文章序 ...

  4. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  5. java分号_java枚举类型中分号的用法

    在java中写枚举类型的对象时,发生一个十分诡异的情况 public enum SeckillStatEnum { ;在没有写内容的时候,这个分号可有可无.但是如果里面写有方法,这个分号就必须带上. ...

  6. Java基础----Java编程语言概述

    Java基础----Java编程语言概述 文章目录 Java基础----Java编程语言概述 Java编程语言概述 1-1 软件开发介绍 1.1软件开发介绍 1.2 常用命令 1-2 计算机编程语言介 ...

  7. JAVA基础--JAVA SE(知识点总结 Ⅴ )

    前面内容请见: JAVA基础–JAVA SE(知识点总结 Ⅰ ) JAVA基础–JAVA SE(知识点总结 Ⅱ ) JAVA基础–JAVA SE(知识点总结 Ⅲ ) JAVA基础–JAVA SE(知识 ...

  8. Java基础-Java中常用的锁机制与使用

    Java基础-Java中常用的锁机制与使用 锁lock或互斥mutex是一种同步机制,主要用于在存在多线程的环境中强制对资源进行访问限制.锁的主要作用为强制实施互斥排他以及并发控制策略.锁一般需要硬件 ...

  9. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  10. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二. 转载于:https://www.cnblogs.com/yinzhengji ...

最新文章

  1. CSS设置文字的划线
  2. 【转载】索引的一些总结
  3. 熬夜所带来的伤害,远比我们想象的更可怕
  4. elaselasticsearch节点类型
  5. 1-5分层API(Layered APIs)
  6. 手机 modem开发(19)---LTE注网总体流程
  7. excel分类_Excel小技巧61:将输入的数字显示为中文
  8. mongodb安装及可视化工具robomongo安装
  9. JDK8新特性(十五)之重复注解、类型注解
  10. zookeeper和PHP zookeeper和kafka 扩展安装
  11. 适合智能电视的K歌神器,纯麦U7PRO麦克风体验
  12. 计算机科学二审需要多久,寒冬展风采,文体两开花——记计算机科学学院迎新晚会节目二审暨素美部“计体两开花”品牌活动...
  13. C语言库函数中的POW函数比自己写的简单幂算法慢多了!
  14. 【Matlab学习手记】多元非线性回归
  15. [转] Photoshop教程8000例
  16. 机器学习笔记十三:Ensemble思想(上)
  17. QNX系统终端中同一个进程号显示多次
  18. 隐含马尔可夫模型——Hidden Markov models (HMM)
  19. NET6使用PaddleOCR识别图片中的文字信息
  20. 新增一级菜单和子菜单

热门文章

  1. 查看db2数据库名linux,【名说】DB2数据库备份与恢复(linux环境)
  2. she is so css什么意思,输入she is so什么意思 微信she is so什么梗
  3. print函数python_带有结束参数的Python print()函数
  4. Java BigInteger类| toByteArray()方法与示例
  5. Java LinkedList公共布尔boolean offerFirst(Object o)方法(带示例)
  6. linux 安装nfs 客户端,在CentOS 7上安装NFS服务器和客户端
  7. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法
  8. android 模仿uc标签页,模仿UCweb菜单 - 白羽雕弓 - 博客园
  9. python whl_python whl是什么文件
  10. 电脑生成siri语音_米家智能台灯1S全新升级,支持小爱和Siri的语音控制