sin*_*inθ 2 java generics polymorphism javafx interface
如果我有一个名为Cueimplements 的类Tickable.后来,我有一个可观察的列表如下:ObservableList<Cue> oList.oList实现Iterable<Cue>(这ObservableList就是声明的方式).
我有一个功能Iterable<Tickable>.我如何让它接受ObservableList<Cue>Cue是一个Tickable和ObservableList是一个Iterable.出于某种原因,我无法在它们之间进行关注或自动升级.有没有办法做到这一点?
你不能从一个转换Iterable<Cue>为一个Iterable<Tickable>,因为即使a Cue是a Tickable,a Iterable<Cue>也不是a Iterable<Tickable>,因为Java的泛型是不变的.
要让方法接受ObservableList<Cue>,请将方法参数类型设为Iterable<Cue>或使用有界通配符 - an Iterable<? extends Tickable>.