当前位置: 首页 > 面试题库 >

枚举和枚举之间的区别

东门清夷
2023-03-14
问题内容

枚举具有valueOf(string)获取枚举常量的方法,并且在java.lang.Enum具有valueOf(enumClassName, string) 我发现的名称的类中存在的相同类型的方法都给出相同的输出。那还有什么其他区别。如果没有区别,那么为什么要添加JSL
Enum.valueOf()

enum Season {
    WINTER,SUMMER
}

class Test {
    public static void main(String[] args) {
        String season = "WINTER";

        //switch (Season.valueOf(colObject))  // following line achieves same thing
        switch (Enum.valueOf(Season.class, season)) // any other difference between both approach
        {
            case WINTER: {
                System.out.println("Got it in switch case= VENDOR");
                break;
            }
            default:
                System.out.println("Fell thru.");
                break;
            }
    }
}

问题答案:

Enum.valueof()包括该方法的原因是它可以与任何方法一起使用enum。相比之下,enum
valueof用于特定方法的方法仅适用于该特定方法enum…,因为enum类不能被多态使用。

显然,该Enum.valueOf(...)方法仅在您实现 需要 针对多种enum类型使用的代码的情况下才真正有用……而泛型则不会削减它。



 类似资料:
  • 问题内容: Enumeration <有区别吗?扩展ZipEntry>和Enumeration ?如果是这样,有什么区别? 问题答案: 拥有其中一种后,您在做什么上没有实际差异,因为type参数仅在“输出”位置使用。另一方面,在您可以 用作 其中一个的方面有很大的不同。 假设您有一个-您无法将其传递给作为其参数之一的方法。您 可以 将其传递给采用方法。 当您有一个在输入和输出位置都使用type参数

  • 谁能解释一下 和 我经常使用前一个示例(可能太频繁了,没有足够的封装),但我从未使用过第二个示例。 谢啦 枚举

  • Spring 3.x、JPA 2.0、Hibernate 4.x、Postgresql 9.x. 使用希望映射到Postgresql枚举的枚举属性处理Hibernate映射类。 使用枚举列上的where子句进行查询会引发异常。 SQL: Hibernate xml查询: > 按而不是按枚举查询工作正常。 没有数据库交互的Java工作良好: 不是,与和相同,异常更改为: 在查看https://sta

  • 问题内容: 背景 Spring 3.x,JPA 2.0,Hibernate 4.x,Postgresql 9.x. 使用我想映射到Postgresql枚举的enum属性在Hibernate映射的类上工作。 问题 用enum列上的where子句查询会引发异常。 代码(大大简化) SQL: Hibernate映射类: 调用查询的Java: Hibernate xml查询: 故障排除 按查询而不是枚举按

  • 问题内容: 这不是卡住我的问题,而是我正在寻找一种编写代码的整洁方法。 本质上,我正在编写一个事件驱动的应用程序。用户触发一个事件,该事件被发送到适当的对象,然后这些对象处理事件。现在,我正在编写偶数处理程序方法,并且希望使用switch语句确定如何处理事件。现在,在我研究通用结构时,事件类非常简单: 然后,在另一堂课中,我会看到类似以下内容的内容: 我会 喜欢 做的就是这样的事情(尽管我当然会坚

  • 问题内容: 这两个接口之间的确切区别是什么?是否有过使用效益?如果有人可以详细说明,将不胜感激。 问题答案: 查看该接口的Java API规范,对以下两者之间的区别进行了说明: 迭代器与枚举有以下两种不同: 迭代器允许调用者在迭代期间使用定义明确的语义从基础集合中删除元素。 方法名称已得到改进。 底线是,既和会给连续元素,但以这样的方式得到改善,从而该方法名是短,并且具有附加的方法。这是一个并排比