我想这个代码的一些变种在Java编译。因为名单<Ÿ>和列表<X>不兼容压倒一切的名单结果类型在Java中
class X
{
List<X> getvalue(){...};
}
class Y extends X
{
List<Y> getvalue(){...};
}
javac的(1.6)返回一个错误。
的一点是,我想编译器 承认,列表<Ÿ>是兼容的返回类型 列出<X>如果Y是X 我想这个原因的亚型是简化使用用户定义的工厂类。
注:这个问题有点像 this question 但为Java。
请格式化代码以使其可读。 – Carlos 2010-09-10 19:50:08
读http://stackoverflow.com/questions/2754756/how-to-cast-a-list-of-inheriting-objects-to-a-collection-of-objects-in-java/2755050也许HTTP:/ /stackoverflow.com/questions/2776975/how-can-i-add-to-list-extends-number-data-structures/2777297 – 2010-09-10 19:52:41
修正了他:)只是带了我四次尝试......大声笑。 – Skurmedel 2010-09-10 19:54:04