我正在开发一个安全程序,我正面临着一个关于泛型的大问题。
请考虑以下代码:
abstract class Dictionary{
List<Entity> list;
public Dictionary(List<Entity> list){
this.list = list; // Error
}
}
实体是用户定义的interface
,它有两个实现classes
:
interface Entity{
...
}
class BinaryEntity implements Entity{
}
class ListEntity implements Entity{
}
问题在于继承的使用。我有一个concrete class
被称为二进制字典,它扩展了abstract class
dictionary.it包含一个二进制实体列表,当我想将列表传递给{时,问题就出现了{1}} super class
有错误我知道以下陈述是错误的:
constructor
我已尝试过上下限,但仍有问题请帮忙。
很抱歉这个问题很长。提前致谢
答案 0 :(得分:0)
您还需要Dictionary
通用,例如:
abstract class Dictionary<E extends Entity> {
List<E> list;
public Dictionary(List<E> list){
this.list = list;
}
}
class BinaryDictionary extends Dictionary<BinaryEntity> {
public BinaryDictionary(List<BinaryEntity> list) {
super(list);
}
// ... custom methods
}