相关疑难解决方法(0)

如何将超类型列表转换为子类型列表?

例如,假设您有两个类:

public class TestA {}
public class TestB extends TestA{}
Run Code Online (Sandbox Code Playgroud)

我有一个返回a的方法,List<TestA>我想将该列表中的所有对象强制转换为TestB最终得到一个List<TestB>.

java generics collections casting list

231
推荐指数
10
解决办法
23万
查看次数

获取原则的解释

我读过O'Reilly的书,因为我开始了解这个获取原则.

  • extends仅从结构中获取值时使用通配符.
  • super仅在值放入结构时使用通配符.
  • 当你们想要从一个结构中获取和放置时,不要使用通配符.

例外情况是:

  • extends除了null属于每个引用类型的值之外,您不能将任何内容放入使用通配符声明的类型中.

  • super除了type的值之外,您不能从使用通配符声明的类型中获取任何内容Object,这是每种引用类型的超类型.

任何人都可以帮助我深入探索这条规则吗?如果可能的话,请将它们分层.

java generics

77
推荐指数
1
解决办法
3万
查看次数

标签 统计

generics ×2

java ×2

casting ×1

collections ×1

list ×1