由以下数据类型混淆

Ash*_*win 5 java generics

List<? extends List<? extends ObservationInteger>>
Run Code Online (Sandbox Code Playgroud)

只是为了给你一个可能与问题无关的背景.尝试使用JAHMM库来构建和评分HMM.

函数的一个参数提到上面的数据类型,我不知道它意味着什么.

根据我的理解,朋友的帮助 List<? extends ObservationInteger>意味着扩展"ObservationInteger"的任何类的实例列表,它是库中的有效类.

外在List<? extends List<?...让我感到困惑.

有人可以对此有所了解吗?

Evg*_*eev 3

List<? extends List...意味着它可以是任何实现 List 接口的 Collections 的 List。

List<List<? extends ObservationInteger>> list = new ArrayList<List<ObservationInteger>>();- 编译器错误,因为没有? extends编译器需要精确匹配:

List<List<? ObservationInteger>> list = new ArrayList<List<? extends ObservationInteger>>();- 好的

但这看起来更好

List<? extends List<? ObservationInteger>> list = new ArrayList<List<ObservationInteger>>();- 好的