Java没有高阶多态性(又名高阶多态性),因此在类型系统中是不可能的。许多Java程序员使用XML和/或反射(即逃避类型系统)来解决这一缺陷。
Scala可以处理这个问题,您所描述的被称为协变函子。这种相当基本的数据类型(以及更多)已经在Scalaz库中实现,并且包括java.util。*的实现。
此外,还有更多的不是集合的协变函子和更多的不是协变的函子。
如果您想进一步探索该特定概念,则不妨在Google上搜索“ 20个中级Scala练习”。

Java没有高阶多态性(又名高阶多态性),因此在类型系统中是不可能的。许多Java程序员使用XML和/或反射(即逃避类型系统)来解决这一缺陷。
Scala可以处理这个问题,您所描述的被称为协变函子。这种相当基本的数据类型(以及更多)已经在Scalaz库中实现,并且包括java.util。*的实现。
此外,还有更多的不是集合的协变函子和更多的不是协变的函子。
如果您想进一步探索该特定概念,则不妨在Google上搜索“ 20个中级Scala练习”。