gpt4 book ai didi

Java 枚举继承 : Is it possible to somehow extract the enums' toString() method to a common super class/enum?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:59 24 4
gpt4 key购买 nike

我有 4 个不同的类,它们都有一个名为 WebService 的通用父类(super class),每个类都声明了以下枚举(具有不同的值):

public class GeoPlacesService extends WebService {

public enum RequestParam {
LOCATION, RADIUS, SENSOR, KEY;

@Override
public String toString() {
return super.toString().toLowerCase();
}
}

public enum ResponseParam {
STATUS, LATITUDE, LONGITUDE, NAME;

@Override
public String toString() {
return super.toString().toLowerCase();
}
}
}

是否有可能以某种方式将枚举的 toString() 方法提取到通用父类(super class)/枚举中?现在,我必须为每个枚举复制 toString() 8 次...

最佳答案

正如其他人所指出的,您不能让枚举从公共(public)类继承。如果您正在做的事情比您在示例代码中显示的更复杂,那么您可以在某个地方使用某种静态的辅助函数来接收枚举并进行计算。枚举可以实现一个接口(interface),因此您可以通过这种方式潜在地处理复杂的通用 toString。

关于Java 枚举继承 : Is it possible to somehow extract the enums' toString() method to a common super class/enum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875196/

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