Java接口实现问题

Java接口实现问题,java,interface,Java,Interface,我对集合有问题。找到必需的java.lang.String字符串。。。 我能在那里做什么 public interface Node { public <V> V get(); public <V> void sets(V value); } public enum MIBNodes implements Node { TEST { private String e; @Override

我对集合有问题。找到必需的java.lang.String字符串。。。 我能在那里做什么

public interface Node {
        public <V> V get();
        public <V> void sets(V value);
    }

public enum MIBNodes implements Node {

    TEST {
         private String e;
        @Override
        public String get() {
            return "aa";
        }

        @Override
        public <String> void sets(String value) {
           e=value;
        }




    };


};
公共接口节点{
公共V get();
公共无效集(V值);
}
公共枚举MIBNodes实现节点{
试验{
私有字符串e;
@凌驾
公共字符串get(){
返回“aa”;
}
@凌驾
公共无效集(字符串值){
e=值;
}
};
};
更新
每个枚举实例,如TEST、TEST1。。。可能有不同的类型。。字符串、整数或任何其他。。。因此,
public enum MIBNodes实现节点{
不能成为
public enum MIBNodes实现节点
{

这就是问题所在:

@Override
public <String> void sets(String value) {
        ^^^^^^
    e=value;
}
如果您希望枚举是通用的:这是不可能的。不同的枚举项不能用不同的通用参数实现相同的接口。

这就是问题所在:

@Override
public <String> void sets(String value) {
        ^^^^^^
    e=value;
}

如果你想让你的枚举是泛型的:那是不可能的。不同的枚举项不能用不同的泛型参数实现同一接口。

那么有什么替代解决方案吗?@Parhs每个泛型类型一个枚举,我担心它当然对get有效:你总是可以返回一个更具体的类型(并将其记录在方法签名中)。但您不能使用比超类或接口更具体的参数。是否有其他解决方案?@Parhs每个泛型类型一个枚举,我担心它对get有效:您始终可以返回更具体的类型(并将其记录在方法签名中).但您不能接受比超级类或接口更具体的参数