问题内容: public enum Operations { 在上面的代码中,两个操作的操作值都会更改。如何有两个具有不同操作类型的Operations.SINGLE实例? 问题答案: 是的,实例是隐式的和。这意味着代码是不明智的。想象两个线程都在调用;您将不会对自己的通话充满信心。 根据Java语言规范的8.9节: 枚举类型(§8.9)不能声明为抽象;这样做会导致编译时错误。 枚举类型是隐式最终
问题内容: 假设您有一些元素 并希望从中随机选择任何颜色。 我把颜色放进去 然后选择一个随机颜色,例如: 所有这些(虽然工作正常)似乎都不必要地复杂。有没有一种简单的方法来选择随机枚举元素? 问题答案: Java的枚举实际上是功能齐全的对象。您可以在声明中添加方法 它将允许您像这样使用它:
问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。
问题内容: 所以,我看着这个“枚举”类型,并且它种好像一个华而不实的 数组 / / 给我。到底有什么用? 问题答案: 枚举是一种固定数量的常量,至少可以用于两件事 不变 这比创建一堆整数常量要好得多。 创建一个单例 您可以使用枚举来做一些有趣的事情,请看这里 也请看官方文档
问题内容: 我中的值是需要在其中包含空格的单词,但是枚举的值中不能包含空格,因此将它们全部堆积在一起。我想重写以将这些空间添加到我告诉的位置。 当我在与添加空格相同的字符串上使用时,我还希望该枚举提供正确的枚举。 例如: 电话上的,其值是返回字符串。调用相同的字符串()会返回枚举值。 我怎样才能做到这一点? 问题答案: 您可以尝试此代码。由于无法覆盖方法,因此必须定义一个自定义方法(在下面的示例代
问题内容: 是否可以像下面那样进行枚举 这样,当我按输入值进行搜索时,请说101。它将返回“ rich”?如何在枚举中做到这一点?能举个例子吗?我不想用forloop循环整个枚举来获取string_value。可能? 问题答案: 如其他建议的那样,将with与值一起使用。 然后,提供一种静态方法,该方法通过对所有值的有序列表/数组执行二进制搜索,而不是对枚举值执行强力迭代搜索。 要执行搜索,请从中
问题内容: 我在Android上的Java中具有以下枚举,并且我希望能够将传入的JSON字符串/对象中的整数反序列化为此Enum类型。我一直在Jackson和GSON上受到欢迎,但在我正在使用的JSON.org包上却什么也没有。 有没有简单的方法可以做到这一点,或者我需要更改JSON解码器?谢谢。 问题答案: 将返回您的数组,然后可以遍历数组并检查
问题内容: 是否有比这更好的“解决方法”?访问TableMap上的方法时,我想避免使用PREFIX(局部变量)。 解决方法! 需要! 整个代码示例: 问题答案: 我认为您可能正在尝试将过多的情报投入其中。 我发现这种方法非常有用。它避免了由于无法扩展s 而引起的许多问题(实际上,您可以但不能以非常有用的方式)。 本质上,将其作为子类并将其特性作为传递给您的超类。这样,您仍然可以获得包括类型安全性在
问题内容: 我想知道为什么在Java语言中a 不能扩展。 我不是在谈论一个延伸的(这不能做,因为Java没有多重继承,而Š隐含延长),但一类的以只添加额外的方法,而不是额外的枚举值。 就像是: 要这样使用: 因此,有人可以对此限制提供理由(或将我指向正确的JLS部分)吗? 问题答案: 我认为 他们这样做 的答案来自以下问题: 在您的示例中,如何实例化MyClass?用户永远不会(通过)显式实例化枚
问题内容: 我们有一个REST API,客户端可以在其中提供代表Java Enums中服务器上定义的值的参数。 因此,我们可以提供一个描述性错误,我们将此方法添加到每个Enum中。似乎我们只是在复制代码(错误)。有更好的做法吗? 更新 :提供的默认错误消息为。我想提供一个来自API的更具描述性的错误。 问题答案: 可能可以实现通用静态方法。 像这样 那么你就可以 或显式调用实用程序类查找方法。
问题内容: 在Java中,您可以创建一个枚举,如下所示: public enum Letter { A, B, C, D, E, F, G; } 这个问题涉及“ values()”方法。具体来说,如何实施?通常,我可以在Eclipse中使用F3或CTRL + Click跳到Java类的源代码(甚至对于String,Character,Integer甚至Enum之类的类)。可以查看其他枚举方法的源(
问题内容: 无论如何,通过将其与给定的字符串进行比较来检查是否存在枚举?我似乎找不到任何这样的功能。我可以尝试使用该方法并捕获异常,但是据我了解,捕获运行时异常不是一种好习惯。有人有什么想法吗? 问题答案: 我不认为没有捕获异常的内置方法。您可以改用如下方式: 编辑: 正如乔恩·斯凯特(Jon Skeet)所述,每次调用时,都会通过克隆私有支持数组来工作。如果性能至关重要,则可能只需要调用一次,缓
问题内容: 我有一个第三方图书馆给我一个图书馆。我想像Java 8那样懒惰地使用该枚举,并调用诸如此类的东西。 有没有现成的图书馆?我已经在引用Guava和Apache Commons,所以如果其中任何一个都有理想的解决方案。 另外,在保留所有内容的懒惰性质的同时将a 变成最佳/最简单的方法是什么? 问题答案: 这个答案已经提供了一个解决方案,可以解决以下问题: 应当强调的是,由此而来 的 懒任何
问题内容: 我们有一个枚举 此外,我们还有一个包含字符串的列表。有没有一种方法可以根据枚举定义的顺序(而不是自然顺序)对列表进行排序。 排序后的列表应为。 问题答案: 器具通过枚举(其中值声明的顺序)的自然顺序。如果仅通过解析创建枚举值(而不是字符串)的列表,则使用对该列表进行排序,它应该按照您想要的方式进行排序。如果您再次需要一个字符串列表,则可以通过调用每个元素来转换回来。
问题内容: 以前,我将LegNo枚举定义为: 通过调用,我可以获得与每个枚举关联的值。 但是现在我决定让枚举是int -1而不是0,所以我决定使用私有构造函数进行初始化并设置其int值 现在唯一的事情就是因为我这样做,所以该方法不适用于枚举。我如何获得与int相关联的枚举?除了使用case switch语句或if-elseif-elseif之外,还有其他有效的方法吗? 我可以看到很多与从枚举获取i