Java枚举一些常用用法(enum)

Posted lusiyue191229

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java枚举一些常用用法(enum)相关的知识,希望对你有一定的参考价值。

1、在没有枚举之前,使用类来定义私有属性那些不被改变的固有的值,如周一到周日,而且每次声明都是public static fianl...

2、有了枚举后便可以把相关的变量放在一起,省了每次都用public static fianl...声明。

一、枚举的常用方法

方法 说明
int compareTo(E o)  比较此枚举与指定对象的顺序
Class<E> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象
String name() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
String toString() 返回枚举常量的名称,它包含在声明中
static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量

 

 

实验

 
public enum Test {
    SUN("周日"),
    MON("周一"),
    TUE("周二"),
    WED("周三"),
    THU("周四"),
    FRI("周五"),
    SAT("周六");
    private Test(String week) {
        
    }
    public String nextday;
    public String nextday() {
        nextday=Test.THU.toString();
        return nextday;
    }
    
}

 

public class One1 {
    
        public static void main(String[] args) {
            //Test d=new Test();
            //不能创建枚举的对象,因为枚举的构造方法是private修饰
            Test day=Test.MON;
            Test nextday=Test.THU;
            //ordinal()返回枚举的下标,注意下标从0开始
            System.out.println(day.ordinal());
            //比较此枚举与指定枚举的顺序,实则比较它们的下标,返回一个int类型的数字
            System.out.println(day.compareTo(nextday));
            //name()和toString()都是返回字符串形式
            System.out.println(day.name());
            System.out.println(day.toString());
            //
            System.out.println(day.hashCode());
            System.out.println(day.getClass());
            
            //遍历枚举
            for(Test i:Test.values()) {
                System.out.println("values   "+i);
            }
            
            System.out.println(isTure(Test.SUN));
        }
        //比较两者关系是否一样
        static boolean isTure(Test a) {
            if(Test.SUN.equals(a)) {
                return true;
            }
            else {
            
            return false;
            }
            
        }
        

}



结果:
1
-3
MON
MON
739498517
class day14.Test
values   SUN
values   MON
values   TUE
values   WED
values   THU
values   FRI
values   SAT
true

 

二、枚举的一些东西

  1. 枚举是一个类,可以定义属性和方法
  2. 由于单继承机制,enum不能继承其他类,它已经继承了java.lang.Enum
  3. 枚举里面可以有抽象方法,也可以实现接口,不可以被继承的final类

 


 

第一次写,看别人写得挺好的,我还得琢磨,

建议看一下超详细的:https://www.cnblogs.com/alter888/p/9163612.html

 

 

-------来自一名信管人的捡豆子

2019-12-3000:59:46

 

参考了一下:https://www.cnblogs.com/hyl8218/p/5088287.html

以上是关于Java枚举一些常用用法(enum)的主要内容,如果未能解决你的问题,请参考以下文章

java中的enum

Java enum(枚举)的用法详解(转)

Java 枚举(enum) 详解7种常见的用法

java枚举类型

Java enum的用法详解

java枚举类型