DK1.5引入了新的类型——枚举。在
Java
中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量
在JDK1.5
之前,我们定义常量都是:
public static fianl....
。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
public enum Color {
RED, GREEN, BLANK, YELLOW
}
用法二:switch
JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
enum Signal {
GREEN, YELLOW, RED
}
public class TrafficLight {
Signal color = Signal.RED;
public void change() {
switch (color) {
case RED:
color = Signal.GREEN;
break;
case YELLOW:
color = Signal.RED;
break;
case GREEN:
color = Signal.YELLOW;
break;
}
}
}
用法三:向枚举中添加新方法
如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且
Java
要求必须先定义
enum
实例。
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 static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
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;
}
}
用法四:覆盖枚举的方法
下面给出一个toString()方法覆盖的例子。
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;
}
//覆盖方法
@Override
public String toString() {
return this.index+"_"+this.name;
}
}
用法五:实现接口
所有的枚举都继承自java.lang.Enum类。由于Java
不支持多继承,所以枚举对象不能再继承其他类。
public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour{
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;
}
//接口方法
@Override
public String getInfo() {
return this.name;
}
//接口方法
@Override
public void print() {
System.out.println(this.index+":"+this.name);
}
}
用法六:使用接口组织枚举
用法七:关于枚举集合的使用
java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的
key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。
分享到:
相关推荐
总结,Spring Boot项目中枚举类型的最佳实践主要包括: 1. 定义枚举类型并提供枚举名称,提高代码可读性。 2. 使用自定义序列化器处理枚举名称和枚举值之间的转换,确保前后端交互的准确性。 3. 在数据库操作中,...
总结来说,枚举类型是C#中一种重要的数据类型,它为代码带来了可读性、类型安全和方便的操作。通过枚举,我们可以创建一组命名的常量,使代码更具表达力,同时减少了出错的可能性。在实际开发中,枚举类型常用于定义...
在Java编程中,枚举类型(Enum)是一种强大的工具,它可以提供固定的、预定义的值集合,常用于表示有限数量的状态或选项。在关系数据库中,我们可能也需要将这些枚举值存储为列的特定类型。Hibernate,作为Java中...
总结来说,MyBatis的枚举自动转换功能通过自定义`BaseTypeHandler`子类实现,它可以简化枚举类型与数据库字段之间的转换,提高代码的可读性和可维护性。在实际项目中,可以针对不同的枚举类型创建不同的类型处理器,...
解决方法是重写枚举类型的toString()方法,以便正确地输出枚举类型的值。 坑四:枚举类型的ordinal()方法 枚举类型的ordinal()方法可能会出现问题。如果枚举类型的ordinal()方法没有被重写,可能会出现问题。例如...
### Hibernate中映射枚举类型 #### 概述 Hibernate是一种强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式操作数据库。在实际应用中,经常会遇到需要将Java中的枚举类型映射到数据库的情况。枚举类型...
枚举类型(enumerated type),在编程语言中是一种强大的数据类型,它允许程序员定义一组具有特定名字的常量。这些名字通常表示特定的值,它们是整数类型的,且值的范围由程序员在定义时指定。枚举类型有助于提高...
总结起来,枚举类型是编程语言中一种强大的工具,它提供了对一组相关常量的集中管理和便捷操作。通过枚举,我们可以增强代码的可读性和可维护性,同时利用其内置方法和扩展功能来满足各种需求。实例176可能就是演示...
通过枚举类型实现交通灯的转换,不仅使得代码简洁易懂,而且利用了枚举类型提供的特性,如不可变性、安全性等。此外,通过枚举类型提供的`nextLamp()`方法,可以很方便地实现交通灯状态之间的转换,同时还可以利用`...
字符串枚举是枚举类型的一种,它允许我们将枚举成员定义为字符串值,而不是默认的数字。 ```typescript enum StringEnum { Key1 = 'key1', Key2 = 'key2', Key3 = 'key3' } ``` 二、类型安全的优势 1. 防止...
这里的`Color`是枚举类型名,`RED`, `GREEN`, `BLUE`是枚举常量,它们默认从0开始逐次递增。你可以为它们指定特定的值,如: ```c enum Color { RED = 1, GREEN = 2, BLUE = 3 }; ``` 易语言中的枚举: 易语言是一...
总结来说,Java枚举类型是int枚举模式和String枚举模式的完美替代品。它不仅提供了更为严格和清晰的类型安全特性,还极大地提升了代码的可读性和易用性。在现代Java应用中,枚举类型被广泛用于替代旧有的枚举模拟...
在C#中,枚举类型是基于整数类型的,通常使用`enum`关键字来声明。例如: ```csharp enum Colors { Red, Green, Blue } ``` 上述代码定义了一个名为`Colors`的枚举,它有三个成员:`Red`、`Green`和`Blue`。默认...
### C语言中的枚举类型详解 #### 一、概述 在C语言中,枚举(Enumeration)作为一种特殊的数据类型,其主要功能在于定义一组固定的、具有整数值的命名常量。这种类型的引入极大提升了程序的可读性和可维护性。通过...
#### 枚举类型概述 枚举类型是C语言中的一种数据类型,主要用于处理那些取值被限定在一定范围内的变量。通过定义枚举类型,我们可以清晰地表达变量可能的所有取值,增强代码的可读性和可维护性。 **定义与使用** ...
总结来说,`@EnumValue`注解是MyBatis-Plus提供的一种处理枚举类型与数据库字段映射的方法,它简化了枚举在Java对象与数据库之间转换的过程,提高了代码的可读性和维护性。在实际开发中,合理使用`@EnumValue`可以...
例如,`BOOL MessageBeep(UINT uType)`在C#中需要用户自定义一个枚举类型来匹配C++中的枚举。然后,通过`[DllImport]`属性导入函数,并使用定义好的枚举类型作为参数。 ### 结构体的转换 C#调用C++ DLL时,如果...
总结来说,在C#中处理注册表和枚举类型数据是常见的任务。`Microsoft.Win32`命名空间提供了一系列工具,使得程序员能够安全地读写注册表。而枚举类型则提供了一种强类型的方式来表示一组相关的值,`Parse`方法则是将...
总结而言,枚举类型在C#中是一种非常强大的工具,它不仅可以帮助程序员清晰地表示一组有限的值,还可以提高代码的可读性和维护性。正确地理解和使用枚举类型对于编写高质量的C#应用程序至关重要。
在本文中,我们使用枚举类型 `StatusEnum` 来定义下拉框的选项,枚举类型的优点是可以将选项的值和显示的文本分离,方便后台数据的处理和前台的显示。在 `StatusEnum` 枚举类型中,我们定义了三个选项:`RED`、`...