我有代码:
Set<? extends Notifiable> notifiables;
Notifiable是一个接口。我不明白上面的代码和:
Set<Notifiable> notifiables;
如果Notifiable是一个类,那么我可以理解其中的区别,第一个代码允许Notifiable和Notifiable的任何子类,而第二个代码只允许Notifiable (而不是任何子类)
由于您不能拥有接口的实例,我可以将/etc添加到集合中吗?在我看来只有两种选择,要么是实现Notifiable的任何东西(在这种情况下,这与第一个代码有什么不同),要么是只有“Notifiable的实例”,它不存在,因此什么都不存在(这是没有意义的,应该会抛出编译时错误)。
https://stackoverflow.com/questions/22595234
复制相似问题