gpt4 book ai didi

java - 改进嵌套枚举定义

转载 作者:行者123 更新时间:2023-12-01 14:49:27 28 4
gpt4 key购买 nike

我喜欢使用enum,它增强了代码的可读性和可用性。但在某些情况下,我想简化“复制”A 和 B“枚举”构造和函数...可能吗?

public static enum KEYS {

KEYS() {};

public static enum RSA {

RSA() {};

public static enum A {

ONE (new String[]{...}),
TWO (new String[]{...}),
THREE (new String[]{...});

public final String[] keys;

A(String[] keys) {
this.keys=keys;
}

public int getVersion(){
return keys.length;
}

}

public static enum B {

ONE (new String[]{...}),
TWO (new String[]{...}),
THREE (new String[]{...});

public final String[] keys;

B(String[] keys) {
this.keys=keys;
}

public int getVersion(){
return keys.length;
}

}

}

...

}

最佳答案

目前不可能有一个由各种枚举(嵌套或非嵌套)重用的 getVersion() 方法的通用实现,因为 Java 使所有枚举都是最终的(不可扩展),因此它们无法继承来自彼此或其他类(class)。您必须为每个枚举定义所有方法和构造函数。

(注意:将来 Java 8 可能会使用 Defender 方法)

关于java - 改进嵌套枚举定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15032926/

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