嗨我有一个类SomeClass和一个私有地图,我希望在对象A和B的值列表中有B扩展A。
下面的代码没有编译..我不能更改类名中的任何内容,它必须保留为:
public class SomeClass {
<T extends ParentObject> Map<SignedOperationNameEnum, List<T>> operationToOrderStateSkipSignatureSetMap = new HashMap<>();
}
答案 0 :(得分:1)
课后名称定义
.context-menu-title:disabled:hover {
-fx-background-color: white;
}
.context-menu-title:disabled:hover .label {
-fx-background-color: white;
-fx-text-fill: black;
}
答案 1 :(得分:0)
您应该将代码更改为:
public class SomeClass<T extends ParentObject> {
Map<SignedOperationNameEnum, List<T>> operationToOrderStateSkipSignatureSetMap = new HashMap<>();
}
答案 2 :(得分:0)
这取决于您使用的java版本。如果你使用的是java 1.7或更高版本,那么你可以使用:
public class SomeClass<T extends ParentObject> {
Map<SignedOperationNameEnum, List<T>> operationToOrderStateSkipSignatureSetMap =
new HashMap<>();
}
如果你有1.6或更早,那么:
public class SomeClass<T extends ParentObject> {
Map<SignedOperationNameEnum, List<T>> operationToOrderStateSkipSignatureSetMap =
new HashMap<SignedOperationNameEnum, List<T>>();
}
引入泛型的方法只写:
private <T extends ParentObject> Map<SignedOperationNameEnum, List<T>> operationToOrderStateSkipSignatureSetMap() {
return new HashMap<>();
}
答案 3 :(得分:0)
我认为问题在于您使用的类型,例如此代码与您的代码非常相似,并且在1.7上完美运行。
public class SomeClass {
static <T extends Number> Map<Integer, List<T>> operationToOrderStateSkipSignatureSetMap() {
return null;
}
public static void main(String[] args) throws IOException {
System.out.println(operationToOrderStateSkipSignatureSetMap());
}
}