Enum使用

本文介绍了一个使用Java枚举类型的示例程序,展示了如何定义枚举并实现其基本操作,包括获取枚举项的中文描述、修改这些描述等。通过一个简单的Color枚举类,演示了枚举在实际应用中的灵活性。

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

package com.htxx.action.business;
public enum Colorr {
	RED("红色"), GREEN("绿色"), BLANK("白色"), YELLO("黄色");
   private String zhongwen;

private Colorr(String zhongwen) {
	//构造器必须为private
	this.zhongwen = zhongwen;
}
public String getZhongwen() {
	return zhongwen;
}
public void setZhongwen(String zhongwen) {
	this.zhongwen = zhongwen;
}
   public static void main(String[] args) {
	   Colorr[] all=Colorr.values();
	   for(Colorr s :all){
		   System.out.println(s.getZhongwen());
	   }
	   for(Colorr s :all){
		   System.out.println(s);
	   }
	   for(Colorr s :all){
		   s.setZhongwen("yanse");
	   }
	   for(Colorr s :all){
		   System.out.println(s.getZhongwen());
	   }
}  
} 
输出结果:
红色
绿色
白色
黄色
RED
GREEN
BLANK
YELLO
yanse
yanse
yanse
yanse



                
### 定义和使用枚举类型(enum) 在C/C++中,`enum` 是一种用户自定义的数据类型,它由一组命名的整数值构成。这种数据类型的主要目的是提高代码的可读性和维护性,使开发者可以更加直观地表示某些固定范围内的值。 #### 1. **定义枚举类型** 可以通过 `enum` 关键字来定义一个枚举类型。下面是一个简单的例子: ```cpp #include <iostream> using namespace std; // 定义枚举类型 enum Color { RED, GREEN, BLUE }; ``` 在这个例子中,`Color` 被定义为一个枚举类型,其中包含了三个枚举子:`RED`, `GREEN`, 和 `BLUE`。默认情况下,这些枚举子会被赋予连续的整数值,起始值为0[^1]。 #### 2. **显式设置枚举子的值** 如果需要,还可以给枚举子指定特定的整数值: ```cpp enum Number { ONE = 1, TWO = 2, THREE = 3 }; ``` 这里,`ONE`, `TWO`, 和 `THREE` 分别被赋予了值1, 2, 和3[^3]。 #### 3. **使用枚举类型** 一旦定义好枚举类型之后,就可以像其他基本数据类型一样使用它。例如,可以声明变量、比较值等: ```cpp int main() { // 声明一个枚举类型的变量 Color myFavoriteColor = GREEN; // 使用if语句进行判断 if (myFavoriteColor == GREEN) { cout << "My favorite color is green." << endl; } // 输出枚举子对应的整数值 cout << "The value of RED is: " << RED << endl; cout << "The value of GREEN is: " << GREEN << endl; cout << "The value of BLUE is: " << BLUE << endl; return 0; } ``` 这段代码展示了如何声明一个枚举类型的变量,并对其进行比较操作以及打印其对应的实际整数值[^3]。 #### 4. **高级特性——强类型枚举(C++11及以上版本)** 从C++11开始,引入了强类型枚举的概念,这有助于避免不同枚举类型之间的隐式转换问题。强类型枚举通过关键字 `enum class` 或者 `enum struct` 来定义: ```cpp // 强类型枚举 enum class Direction { NORTH, SOUTH, EAST, WEST }; int main() { Direction dir = Direction::NORTH; // 需要显式转换才能获取底层整数值 cout << static_cast<int>(dir) << endl; return 0; } ``` 在这里,`Direction` 是一个强类型枚举,因此不能直接与其他类型的值进行比较或运算,除非显式地转换为其基础类型[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值