Java 中如何将字符串转换为枚举?2025年6月19日 | 阅读 4 分钟 Java 枚举是一种强大的数据类型,用于表示一组固定的常量。它们通常用于定义对象可以取值的特定值集。有时,您可能希望将字符串表示形式转换为枚举值。在这种情况下,我们将探讨将 Java 中的字符串转换为枚举的各种策略,并为您提供完整的程序以更好地理解。 理解 Java 枚举在深入转换过程之前,让我们简要回顾一下 Java 枚举。枚举(或简称 enum)是在 Java 5 中引入的,以提供一种更结构化的方式来表示常量值。枚举声明定义了该枚举类型的变量可以取的一组固定值。枚举中的每个值都称为枚举常量。 这是一个枚举声明的示例 在这种情况下,Day 是枚举的名称,它有七个常量,代表一周中的天数。枚举还可以拥有额外的字段和方法,使其比简单的常量值更灵活、更强大。 将字符串转换为枚举当您有一个字符串表示形式并希望将其转换为枚举时,您可以根据您的要求遵循不同的策略。在这里,我们将讨论执行此转换的三种常用方法:使用 valueOf() 方法,使用自定义映射,以及使用 Enum.ValueOf() 方法。 方法 1:使用 valueOf() 方法将字符串转换为枚举的最直接方法是使用枚举本身提供的 valueOf() 方法。此方法将枚举常量的名称作为字符串,并返回相应的枚举常量(如果找到)。这是一个示例 StringToEnumExample.java 输出 FRIDAY 在此示例中,我们通过调用 valueOf() 方法将字符串“FRIDAY”转换为 Day 枚举。结果是 Day.FRIDAY 枚举常量,然后将其打印到控制台。 需要注意的是,valueOf() 方法是区分大小写的,如果字符串与任何枚举常量都不匹配,则会抛出 java.lang.IllegalArgumentException。为了处理这种情况,您可以将转换包装在 try-catch 块中,以优雅地处理异常。 方法 2:使用自定义映射在某些情况下,您可能需要执行字符串表示形式和枚举常量之间的自定义映射。当字符串值与枚举常量名称不完全匹配时,此方法非常有用。这是一个示例 StringToEnumExample.java 输出 FRIDAY 在此示例中,Day 枚举有一个名为 abbreviation 的额外字段,它表示该天的较短字符串表示形式。我们定义了一个自定义方法 fromAbbreviation(),它根据缩写执行转换。如果缩写与任何枚举常量匹配,则返回相应的枚举常量;否则,将抛出异常。 方法 3:使用 Enum.valueOf() 方法第三种方法涉及使用 Enum.valueOf() 方法,这是一个通用的方法,用于将字符串转换为枚举常量。这是一个示例 StringToEnumExample.java 输出 SUNDAY 在此示例中,我们将枚举类(Day.class)和字符串表示形式(dayString)传递给 Enum.valueOf() 方法。如果找到,它将返回相应的枚举常量,如果未找到匹配项,则抛出 IllegalArgumentException。 在本文中,我们探讨了在 Java 中将字符串转换为枚举的各种方法。我们讨论了使用 valueOf() 方法、创建自定义映射以及利用 Enum.valueOf() 方法。根据您的要求,您可以选择最合适的方法。请记住在使用 valueOf() 方法时处理异常,并在字符串值与枚举常量名称不直接匹配时考虑自定义映射。 |
在本教程中,我们将讨论如何确定给定年份是否为闰年。但在进一步讨论之前,我们将讨论闰年。闰年 闰年,也称为双闰年或闰日年,包含 1…
7 分钟阅读
在本节中,我们将学习什么是 Kynea 数,并创建 Java 程序来计算 Kynea 数。Kynea 数程序经常出现在 Java 编码面试和学术中。Kynea 数是递归定义的数字:F(k) = 4 x F(k...
阅读 6 分钟
每种编程语言都有不同的格式和结构。当我们处理大数据或数据科学时,我们应该选择哪种语言?基本上有四种编程语言可供我们用于处理大数据或数据科学,即 Python、Java、...
5 分钟阅读
在 Java 中,变量是保存值的容器。变量名表示内存位置的名称。每个变量包含三个元素:数据类型、变量名和值。变量可能具有作用域(私有、受保护),但这取决于需求。数据类型:它定义...
阅读 4 分钟
异常处理是处理运行时错误最强大的机制之一,可以维护应用程序的正常流程。在 Java 中,异常是一种异常情况。Java 编程语言定义了各种异常。在本节中,我们将讨论...
阅读 3 分钟
(用法和示例)Java `new` 关键字通过为新对象分配动态内存来创建类实例,并返回对该内存的引用。它也可以用于创建数组对象。当使用 `new` 关键字时,它会执行类的...
阅读 6 分钟
Java 是一种通用且广泛使用的编程语言,以其平台独立性而闻名,这得益于其架构中立的特性。架构中立是指 Java 能够在不修改代码的情况下在任何设备或平台上运行。这一独特的功能发挥了...
阅读 4 分钟
在拔河问题中,我们需要将给定的 n 个整数集分成两个大小相等或几乎相等的部分。给定的集合必须划分方式是使得其中整数之和的差……
5 分钟阅读
在 Java 中,类中定义的变量和方法只能通过创建该类的实例来访问,或者如果方法是静态的,则可以使用类名访问。点运算符用于访问类中的方法和变量....
7 分钟阅读
? 在 Java 编程世界中,构造函数是用于初始化对象的特殊方法。当使用 new 关键字创建对象时,会调用它们,并且它们负责设置对象的初始状态。构造函数通常是公共的,并且与...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India