Enum 值对象转为string
时间: 2023-07-28 16:40:01 浏览: 174
在 Java 中,可以使用枚举类型的 toString() 方法将枚举值对象转为字符串。
示例代码如下:
```
enum DaysOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
String dayString = DaysOfWeek.Monday.toString();
System.out.println(dayString); // 输出:Monday
```
在这个示例中,我们定义了一个枚举类型 DaysOfWeek,包含七个值。使用 DaysOfWeek.Monday 枚举值对象的 toString() 方法,我们将它转换为字符串值,并将结果存储在名为 dayString 的字符串变量中。最后,我们将字符串输出到控制台。
相关问题
枚举对象转为string字符串
在 C# 中,可以使用 Enum 类的 GetName() 方法将枚举对象转为字符串。
示例代码如下:
```
enum DaysOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
DaysOfWeek myDay = DaysOfWeek.Monday;
string dayString = Enum.GetName(typeof(DaysOfWeek), myDay);
Console.WriteLine(dayString); // 输出:Monday
```
在这个示例中,我们定义了一个枚举类型 DaysOfWeek,包含七个值。然后我们创建了一个名为 myDay 的枚举对象,它的值为 Monday。使用 Enum 类的 GetName() 方法,我们将 myDay 对象转换为它对应的字符串值,并将结果存储在名为 dayString 的字符串变量中。最后,我们将字符串输出到控制台。
public Code(Enum c, String a, String b) { this(c.getValue(), a, b); }我指的是这个方法
这段代码定义了一个名为 `Code` 的构造函数,它接收三个参数:一个枚举类型 `Enum c`、字符串 `a` 和 `b`。这里的重点在于,首先构造函数内部调用了另一个版本的构造函数,即 `this(c.getValue(), a, b)`,这里 `this` 关键字用于引用当前对象自身,而 `c.getValue()` 是获取枚举变量 `c` 对应的整数值。
这表明在创建新对象的时候,实际上是在基于 `Enum` 枚举类型的值(而非枚举本身)来初始化对象。这样做可能是为了将枚举常量转换成可以传递给其他构造函数的实际数据类型,使得代码更灵活或者避免直接使用枚举名称带来的潜在问题。
举例来说,如果 `Enum` 类型是 `Status`,有 `ON`, `OFF` 等值,那么:
```java
public class Status {
private int value;
// ... getters and setters
public Status(String name) {
// ... 实现从名字到值的转换
}
}
Code(Status.ON, "action1", "param1");
```
在这里,`Code` 构造函数会通过 `ON` 的值来调用 `this(1, "action1", "param1")` 这样的构造,实现了对枚举状态的隐式处理。
阅读全文