小编Ale*_*May的帖子

用于强制枚举类型定义的 Java 接口

我需要定义一个接口来重新定义哈希集之类的东西。

所以我有 get(byte key) 类型的方法。由于我无法使用像 String 这样的描述性键,因此我正在寻找一种通用方法来定义接口的某些实现中可用的键。我想为此使用枚举。但是是否可以在接口中强制定义此类枚举?

为了弄清楚我的意思,让我们看一个实现该接口的示例类:

public class ByteHashsetImpl implements ByteHashset {
    public enum Key {
        STATE_A,
        STATE_B,
        STATE_C;
    }

    public enum Value {
        VALUE_A,
        VALUE_B,
        VALUE_C;
    }

    public void get(Key k) {
        /**/
    }

}
Run Code Online (Sandbox Code Playgroud)

我想确保每个实现都定义并使用自己的枚举,称为“键”和“值”。这使得可以使用类似于ByteHashsetImpl.Key接口的每个实现的方法来访问键/值。

是否有可能,或者除了像编码奎德线这样的非正式定义之外还有其他选择吗?

java enums interface

2
推荐指数
1
解决办法
6376
查看次数

标签 统计

enums ×1

interface ×1

java ×1