Java枚举简单介绍(java中枚举的用法)

  本篇文章为你整理了Java枚举简单介绍(java中枚举的用法)的详细内容,包含有java枚举菜鸟教程 java中枚举的用法 java枚举类怎么写 java 枚举的使用 Java枚举简单介绍,希望能帮助你了解 Java枚举简单介绍。

  1、枚举简介

  枚举,是java中的一种比较特殊的class,它继承了java.lang.Enum类,也就是说在枚举类中是不能够继承其他类的。枚举类型可以取代以往常量的定义方式,即将常量封装在类或接口中。此外,枚举类型还提供了安全检查功能。枚举类型本质上还是以类的形式存在

  以往设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用了,并且该常量不能被修改,因为在接口中定义的常量时,该常量的修饰符为final与static。

  

public interface Color

 

   public static final int RED = 1;

   public static final int GREEN = 2;

   public static final int BLUE = 3;

  

 

  使用枚举定义常量的语法如下:

  

public enum ColorEnum

 

   RED,

   GREEN,

   BLUE,

  

 

  常量声明 会有一些问题,比如

  
类型不安全。比如在一个方法中要求传入形参,用常量的话,形参就是int类型,开发者传入任意类型的int类型值就可以,但是如果是枚举类型的话,那就只能传入枚举类中包含的对象。

  
没有命名空间。开发者要在命名的时候以一定的格式来确定这个常量的使用范围,比如是四季的话就是SPRING表示春天,这样另外一个开发者再看这段代码的时候才知道这四个常量分别代表季节。

  
final常量:使用大写字母命名,并且中间使用下划线进行连接。

  enum枚举:使用大写字母命名,并且中间使用下划线进行连接。

  

public static void doit(ColorEnum c)

 

   switch (c)

   case RED:

   System.out.println("This is RED");

   break;

   case BLUE:

   System.out.println("This is GREEN");

   break;

   case GREEN:

   System.out.println("This is BLUE");

   break;

   default:

   break;

  public static void main(String[] args)

   doit(ColorEnum.RED);

  

 

  2 、操作枚举类型成员的方法

  
(1)values()方法

  该方法可以将枚举类型成员以数组的形式返回,也可以通过该方法获取枚举类型的成员。

  

/**

 

   * @Author IBing

   * @Date 2022/8/5 21:17

   * @Version 1.0

  public class showEnum {

   enum ColorEnum{

   RED,

   BLUE,

   GREEN,

   YELLOW

   public static void main(String[] args) {

   System.out.println("枚举成员有:"+Arrays.toString(ColorEnum.values()));

   System.out.println("=================================");

   for (ColorEnum c: ColorEnum.values()) {

   System.out.println("枚举成员:"+c);

  

 

  执行结果:

  (2)valueOf()与compareTo()方法

  

/**

 

   * 枚举中valueOf()与compareTo()方法的使用

   * @author pan_junbiao

  public class EnumMethodTest

   enum ColorEnum

   RED, BLUE, GREEN

   // 定义比较枚举类型方法,参数类型为枚举类型

   public static void compare(ColorEnum c)

   // 根据values()方法返回的数组做循环操作

   for (int i = 0; i ColorEnum.values().length; i++)

   // 将比较结果返回

   System.out.println(c + "与" + ColorEnum.values()[i] + "的比较结果为:" + c.compareTo(ColorEnum.values()[i]));

   public static void main(String[] args)

   // 使用valueOf()将字符串转换为枚举实例

   ColorEnum c = ColorEnum.valueOf("BLUE");

   compare(c);

  

 

  执行结果:

  说明:调用compareTo()方法返回的结果,正值代表方法中的参数在调用该方法的枚举对象位置之前;0代表两个相互比较的枚举成员的位置相同;负值代表方法中参数在调用该方法的枚举对象位置之后。

  (3)ordinal()方法

  该方法用于得到枚举成员的位置索引。

  

public class showEnum {

 

   enum ColorEnum{

   RED,

   BLUE,

   GREEN,

   YELLOW

   public static void main(String[] args) {

   for (ColorEnum c: ColorEnum.values()) {

   System.out.println("枚举成员 "+ c+" 的位置索引为:"+c.ordinal());

  

 

  执行结果:
 

  3、使用枚举类型的优势

  枚举类型声明提供了一种用户友好的变量定义方法,枚举了某种数据类型所有可能出现的值。总结枚举类型,它具有以下特点:

  (1)类型安全。

  (2)紧凑有效的数据定义。

  (3)可以和程序其他部分完美交互。

  (4)运行效率高

  以上就是Java枚举简单介绍(java中枚举的用法)的详细内容,想要了解更多 Java枚举简单介绍的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: