、一个整数不能直接赋值给一个枚举变量,必须用该枚举变量所属的枚举类型进行类型强制转换后才能赋值
时间: 2024-05-14 13:12:59 浏览: 11
给枚举变量。例如:
```java
enum Color {
RED, BLUE, GREEN
}
public class Main {
public static void main(String[] args) {
int num = 1;
Color color = (Color) num; // 错误!不能直接赋值给枚举变量
Color color2 = Color.RED;
int num2 = (int) color2; // 正确!枚举变量可以强制转换为整数
}
}
```
相关问题
用该枚举变量所属的枚举类型进行类型强制转换
例子:
```java
enum Color {
RED, GREEN, BLUE
}
public class Main {
public static void main(String[] args) {
Color c = Color.RED;
int num = (int) c; // 强制将枚举类型转换为整数类型
System.out.println(num); // 输出结果为0,因为枚举类型默认从0开始计数
}
}
```
在类中定义一个枚举变量,用成员函数赋值,并输出
在类中定义一个枚举变量,并使用成员函数赋值的示例代码如下:
```c++
#include <iostream>
class MyClass {
public:
enum Color {
RED,
GREEN,
BLUE
} color;
void setColor(Color c) {
color = c;
}
void printColor() {
std::cout << "Color: " << color << std::endl;
}
};
int main() {
MyClass obj;
obj.setColor(MyClass::BLUE);
obj.printColor();
return 0;
}
```
在上面的示例代码中,我们定义了一个名为 `Color` 的枚举类型,并在其中声明了三个枚举值:`RED`、`GREEN` 和 `BLUE`。同时,在类中定义了一个 `color` 成员变量,其类型为 `Color`。我们还定义了两个成员函数 `setColor` 和 `printColor`,分别用于设置 `color` 值和输出 `color` 值。
在 `main` 函数中,我们实例化了 `MyClass` 类的一个对象 `obj`,并使用 `setColor` 成员函数将其 `color` 成员变量赋值为 `MyClass::BLUE`。最后,我们调用 `printColor` 成员函数输出了 `obj.color` 的值,结果为 `2`,即枚举值 `BLUE` 的整数值。
输出结果:
```
Color: 2
```
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)