java - 在类声明中定义 Java 泛型类型

标签 java generics

我有

public class SongListView<T>  extends ListView<T>

如何指定通用类型 T 为歌曲对象而不是其他对象?

最佳答案

public class SongListView extends ListView<Song> {...}

您只能添加到 ListView 实例(不能添加 Song.class 的继承人)

ListView<Song> songListView = new SongListView();

您也不能将 SongListView 分配给 Song.class 的其他继承人的通用引用

class LongSong extends Song {...}
ListView<LongSong> songListView = new SongListView(); //Incompatible types.

关于java - 在类声明中定义 Java 泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58682102/

相关文章:

java - 什么时候应该使用Java Extension Class Loader?

java - 在 spring-ws (wss4j) 中添加加密/解密的正确方法是什么?

java - 我可以使用 Izpack 5 安装文件而不将其作为 izpack 构建的 install.jar 的一部分吗

c - 海湾合作委员会错误 : string length too great (C11 type-generics)

haskell - 如何使用 Template Haskell 构建多态结构?

java - 取多个拆分字符串的第一个大写字符

c# - 将 Func<T, int> 值插入 linq-2-sql 查询

Java 泛型 : getting rid unchecked cast warning (case described inside)

delphi - 为什么 TEnumerable<T> 使用传递方法?

java - hibernate 一对多关系未正确更新