枚举类:用enum关键字来定义一个枚举类

2024-08-23 21:18
文章标签 定义 关键字 枚举 enum

本文主要是介绍枚举类:用enum关键字来定义一个枚举类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1)枚举类的两种定义方法
1》通过构造器
public enum Grade{
A("A", "90-100"),B("B","80-89"),C("C", "70-79"),D("D", "80-89"),E("E", "90-100");
private String tip;
private String desc;
private Grade(String tip, String desc){
this.tip = tip;
this.desc = desc;
}
public String getTip() {
return tip;
}
public String getDesc() {
return desc;
}
}
2》通过匿名内部类(一般用于有抽象方法的枚举)
eg:
public enum Season {//注意:含有抽象方法的枚举类不用加abstract
                            SPRING{
@Override
public void show(){
System.out.println("春天");
}
},SUMMER{
@Override
public void show() {
System.out.println("夏天");
}
},AUTOMN{
@Override
public void show() {
System.out.println("秋天");
}
},WINNTER{
@Override
public void show() {
System.out.println("冬天");
}
};
//抽象方法
public abstract void show();
}
3)switch语句和枚举类的联用
eg:
Season season = Season.SPRING;
String msg = null;
switch(season){
case SPRING:msg = "1"; break;//注意不是Season.SPRING
case SUMMER:msg = "2"; break;
case AUTOMN:msg = "3"; break;
case WINNTER:msg = "4"; break;
}
System.out.println(msg);        
4)枚举类常用方法
1》String name():返回枚举值的名称
2》int ordinal():显示枚举值对应的索引,从0开始
3》type[] values():获得该枚举类对应的所有枚举值,返回一个数组
4》static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)://将字符串转换成带指定名称的指定枚举类型的枚举常量。
                eg:
Season season = Season.SPRING;
System.out.println(season.name());//SPRING
System.out.println(season.ordinal());//0【下标】
                    
Season[] seasons = season.values();//获得属性值数组
for(Season s : seasons){
System.out.println(s.name());
}
//Season.valueOf(Season.class, "QQ");//可判断QQ是否属于枚举值之一,
//抛出IllegalArgumentException:异常
                    
System.out.println("=="+Season.valueOf(Season.class, "SPRING").name());//正常:SPRING.        
//Season.valueOf(Season.class, "spring");//也会抛出异常
5)理解:
1》枚举类中的每一个枚举值,相当于是实例变量
2》枚举类与普通类一致,可以继承或实现,如果有抽象方的话,可以利用每个枚举类以匿名内部类的方式去实现
3》枚举值可以用在switch语句的case后面,并且直接些枚举值,不需要加上枚举类。
4》若枚举类只有一个枚举值,则可类似于单例设计模式。
补充:注意枚举类和枚举集合的区别.Enum  Enumeration

 eration

这篇关于枚举类:用enum关键字来定义一个枚举类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100514

相关文章

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

c# checked和unchecked关键字的使用

《c#checked和unchecked关键字的使用》C#中的checked关键字用于启用整数运算的溢出检查,可以捕获并抛出System.OverflowException异常,而unchecked... 目录在 C# 中,checked 关键字用于启用整数运算的溢出检查。默认情况下,C# 的整数运算不会自

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

hdu 2489 (dfs枚举 + prim)

题意: 对于一棵顶点和边都有权值的树,使用下面的等式来计算Ratio 给定一个n 个顶点的完全图及它所有顶点和边的权值,找到一个该图含有m 个顶点的子图,并且让这个子图的Ratio 值在所有m 个顶点的树中最小。 解析: 因为数据量不大,先用dfs枚举搭配出m个子节点,算出点和,然后套个prim算出边和,每次比较大小即可。 dfs没有写好,A的老泪纵横。 错在把index在d

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当