我有一个实现特定接口的通用列表类。
接口中的列表项也实现相同的接口。
public abstract class List<T extends SomeInterface> implements SomeInterface
{
protected LinkedList<T> m_list;
...
}
所以现在我想创建一个该列表的子类,该子类保持通用,但将项目限制为实现 SearchListItem 接口的对象:
public interface SearchListItem
{
public String getName();
}
这是到目前为止我对 SearchList 类的了解:
public abstract class SearchList<T extends SearchListItem> extends List<T>
{
public T get(String name)
{
...
}
...
}
但当然这会抱怨类的定义:
Bound mismatch: The type T is not a valid substitute for the bounded parameter <T extends SomeInterface> of the type List<T>
那么,我需要在类声明中放入什么来表示“SearchList 扩展了 List 类,并对包含 SomeInterface(在基类中)和 SearchListItem 的泛型类类型有附加限制”?
请告诉我是否可以重写此内容以帮助解释。
这有效吗?
public abstract class SearchList<T extends SomeInterface & SearchListItem> extends List<T>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)