举_枚

本文详细介绍了Java中枚举类型的使用方法及其特性。包括枚举类型的继承机制、如何获取枚举值、名称及所有实例,以及如何进行枚举值的比较等。此外还展示了如何在枚举类型中定义方法和实现抽象方法,以及枚举与switch语句、Map集成的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.枚举其实都是隐式的继承自java.lang.Enum。有类型安全性、编译期检查以及可将它用在变量声明中的能力,枚举中的各个实例(值)都是被隐式声明为public static final的,也不能将这些声明手动赋予给实例(值),编译器会自己处理。所以比较Enum实际是比较int型,比String快。

2.实例
enum Color
{
GREEN, RED, BLUE
}
int index = Color.GREEN.ordinal();//获取枚举值的下标
Color[] colors = Color.values();//获取所有的枚举值
String name = Color.GREEN.name();//获取实例名
Color aa = Color.valueOf(name);//通过实例名获取枚举实例
//比较两个枚举的方法一 : 比较方式是比较枚举的ordinal
//逻辑表达式方法二 : boolean isEqual = Color.RED == Color.GREEN;
//枚举支持直接用switch作选择

3.示例
public enum Enums
{
SIMPLE1
{
String getInfo()
{
return "aaa";
}
},
SIMPLE2
{
String getInfo()
{
return "bbb";
}
};
abstract String getInfo();

public static void main(String[] args)
{
System.out.println(Enums.SIMPLE1.name());
for (Enums a : values())
{
System.out.println(a.getInfo());
}
}
}

public class Enums2
{
public enum State
{
ON, OFF
}

/**
* TODO 添加方法注释
* @param args
*/
public static void main(String[] args)
{
//打印枚举值
for (State s : State.values())
{
System.out.println(s.name());
}

//枚举与Switch集成
switch (State.ON)
{
case ON:
System.out.println("开");
break;
case OFF:
System.out.println("关");
break;
}

//枚举与Map集成
EnumMap map = new EnumMap(State.class);
map.put(State.ON, "开");
map.put(State.OFF, "关");
for (State s : State.values())
{
System.out.println(s.name() + " " + map.get(s));
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值