我有套装问题。需要java.lang.String找到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;
}
};
};
更新
每个枚举实例如TEST,TEST1 ...可能有不同的类型..字符串,整数或任何其他...所以public enum MIBNodes implements Node {
不能成为public enum MIBNodes implements Node<String>
{
答案 0 :(得分:4)
这就是问题:
@Override
public <String> void sets(String value) {
^^^^^^
e=value;
}
此处,String
是类型变量(V
的重新定义),而不是java.lang.String
。我并不认为你可以在不改变你的设计的情况下解决这个问题:
public interface Node<V> {
public V get();
public void sets(V value);
}
如果你想要你的枚举是通用的:那是不可能的。不同的枚举项不能使用不同的通用参数实现相同的接口。