在 Java 中把枚举类型转为字符
Java 中的 Enum
是一种特殊的数据类型或类,它拥有一组常量。我们也可以在枚举中添加构造函数和方法。要在 Java 中创建一个枚举,我们使用关键字 enum
,并像类一样给它起一个名字。在这篇文章中,我们将介绍 Java 中将枚举转换为字符串的方法。
在 Java 中使用 name()
将枚举转换为字符串的方法
在第一个例子中,我们将使用 Enum
类的 name()
以字符串形式返回枚举常量的确切名称。下面,我们在类内部创建了一个枚举,但我们可以在类外或类内创建一个枚举。我们将这个枚举命名为 Directions
,它包含了作为枚举常量的方向名称。
我们可以使用 name()
方法获取任何常量。Directions.WEST.name()
将以字符串形式返回 WEST
,存储在字符串变量 getWestInString
中,然后打印在输出中。
public class EnumToString {
enum Directions {
NORTH,
SOUTH,
EAST,
WEST
}
public static void main(String[] args) {
String getWestInString = Directions.WEST.name();
System.out.println(getWestInString);
}
}
输出:
WEST
在 Java 中使用 toString()
将枚举转换为字符串
就像 name()
一样,我们有 toString()
方法,但是当涉及到使用一个枚举常量做任何重要的用途时,name()
是首选,因为它返回的是同一个常量,而 toString()
可以在枚举中被覆盖。这意味着我们可以使用 toString()
修改作为字符串返回的内容,我们将在下一个例子中看到。
在这个例子中,我们在需要转换为字符串的常量上使用 toString()
方法。
public class EnumToString {
enum Currencies {
USD,
YEN,
EUR,
INR
}
public static void main(String[] args) {
String getCurrency = Currencies.USD.toString();
System.out.println(getCurrency);
}
}
输出:
USD
我们在上面已经讨论过,我们可以重写 toString()
方法来修改我们想用枚举常量返回的字符串。在下面的例子中,我们有四种货币作为常量调用枚举构造函数,并传递一个字符串作为参数。
每当常量看到 toString()
方法时,就会把字符串名传给 getCurrencyName
这个字符串变量。现在我们要在枚举里面覆盖 toString()
方法,用字符串返回 getCurrencyName
。
在 main()
方法中,我们使用 toString()
方法将 INR
常量作为字符串获取。我们可以在输出中看到,修改后的字符串被打印出来。我们也可以使用 Enum.values()
来打印一个枚举的所有值,它返回一个枚举常量数组,然后在每个常量中循环,把它们打印成字符串。
public class EnumToString {
enum Currencies {
USD("USD"),
YEN("YEN"),
EUR("EUR"),
INR("INR");
private final String getCurrencyName;
Currencies(String currencyName) {
getCurrencyName = currencyName;
}
@Override
public String toString() {
return "Currency: " + getCurrencyName;
}
}
public static void main(String[] args) {
String getCurrency = Currencies.INR.toString();
System.out.println("Your " + getCurrency);
Currencies[] allCurrencies = Currencies.values();
for (Currencies currencies : allCurrencies) {
System.out.println("All " + currencies);
}
}
}
输出:
Your Currency: INR
All Currency: USD
All Currency: YEN
All Currency: EUR
All Currency: INR
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn相关文章 - Java String
- 如何从 Java 中的字符串中删除子字符串
- 如何将 Java 字符串转换为字节
- 如何在 Java 中以十六进制字符串转换字节数组
- 如何在 Java 中执行字符串到字符串数组的转换
- 用 Java 生成随机字符串
- Java 中的交换方法