gpt4 book ai didi

java - 在扩展泛型类的类中初始化实例变量

转载 作者:行者123 更新时间:2023-11-29 09:41:30 25 4
gpt4 key购买 nike

我有一个通用类“SimpleList”(摘录):

public abstract class SimpleList<T> {

protected List<T> list;

public SimpleList(List<T> list) {
this.list = list;
}
}

还有另一个扩展它的类“TrackList”(摘录):

public class TrackList extends SimpleList {

public TrackList(List<XmlTrack> list) {
super(list);
}
}

在“TrackList”中,我指定该列表包含“XmlTrack”类型的对象。不过,似乎不可能从该列表中获取对象并访问其方法。例如,这将不起作用:

list.get(0).someMethodSpecificToXmlTrack()

我不明白为什么这不起作用? “SimpleList”中的列表不是设置为仅包含“XmlTrack”吗?

最佳答案

你需要定义为

public class TrackList extends SimpleList<XmlTrack> {

public TrackList(List<XmlTrack> list) {
super(list);
}
}

因为 SimpleList 是泛型的,但是你在扩展它的时候没有指定类型参数。

关于java - 在扩展泛型类的类中初始化实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com