我有一个抽象类 Animal, 如下
public abstract class Animal<T> {
public List<T> getList(){
return new ArrayList<>();
}
}
我想要扩展这个抽象类的功能,于是我继承了该抽象类实现了 Tiger 。在这里我会限制 Tiger 的泛型必须是 String 的子类。
我的核心需求是扩展 getList 方法,让其返回值不再是空 List, 而是包含一个元素 "I'm Tiger" 的字符串集合。
以下面的写法,IDEA 会编译出错,请问有什么其他方式实现这个需求吗?
public abstract class Tiger<T extends String> extends Animal<T> {
@Override
public List<T> getList() {
ArrayList<String> strings = new ArrayList<>();
strings.add("I'm Tiger");
return strings;
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.