是否可以在java中创建具有自定义值枚举?
Java中的枚举(enum)是一种存储一组常数值(通常是字符串)的数据类型。您可以使用枚举来存储固定值,例如一周中的天数、一年中的月份等。
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}对常量使用自定义值
除了在枚举中声明字符串常量外,您还可以对这些常量指定值,如下所示:
enum Vehicles {
ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);
}无论何时,您都需要向枚举的常量分配自定义值:
- 要保存每个常量的值,您需要一个实例变量(通常是私有的)。
- 您不能显式创建枚举的对象,因此,您需要添加一个参数化构造函数来初始化值。
- 初始化应只完成一次。因此,必须将构造函数声明为私有的或默认的。
- 要使用实例方法(getter)返回常量值。
示例
在以下 Java 示例中,我们定义了一个名为 Vehicles 的枚举,并声明了五个常量,它们表示车辆名称及其价格作为值。
enum Vehicles {
//Constants with values
ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);
//Instance variable
private int price;
//Constructor to initialize the instance variable
Vehicles(int price) {
this.price = price;
}
public int getPrice() {
return this.price;
}
}
public class EnumTest{
public static void main(String args[]) {
Vehicles vehicles[] = Vehicles.values();
for(Vehicles veh: vehicles) {
System.out.println("Price of "+veh+" is: "+veh.getPrice());
}
}
}输出
Price of ACTIVA125 is: 80000 Price of ACTIVA5G is: 70000 Price of ACCESS125 is: 75000 Price of VESPA is: 90000 Price of TVSJUPITER is: 75000
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
JavaScript
PHP