gpt4 book ai didi

java - 接口(interface) Enum 的静态方法

转载 作者:搜寻专家 更新时间:2023-10-31 08:04:01 24 4
gpt4 key购买 nike

Enum.valueOf() 不能被具体 Enum 类型的另一个静态方法 valueOf 隐藏,但是因为我正在创建我的对象通过文本文件的反射,我需要一种通用的方式来调用 valueOf

目前我的Enum有一个静态类fromString():

public enum Fruits {

APPLE, ORANGE, ...;

public static Fruit fromString(String fruit) {
...
}
}

但是当我处理一个枚举字段类型时,我如何连接这样一个方法来调用适当的方法呢?我唯一能想到的是:

  • 使用标记界面
  • 为每个枚举实现这个静态方法
  • 通过反射调用静态方法

是否有其他替代方案可以强制执行此限制?

最佳答案

如果我理解正确的话,您将拥有许多不同的枚举,您希望通过独特的 fromString 方法将它们集成。我所做的是制作一个单独的类,将所有枚举成员累积到单个 static final Map 中,并根据它实现 fromString 方法。

在我的案例中,所有枚举都实现了一个通用接口(interface),因为我有许多自定义方法需要调用,而不管所讨论的确切枚举是什么。

关于java - 接口(interface) Enum 的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com