我开始学习 Java 泛型。而且我对泛型语法及其含义有一些误解。如果我的问题看起来太琐碎,我请求理解。
你可以写:
public class MyClass<SomeClass> {}
你可以写:
public class MyClass<C extends SomeClass> {}
你也可以写:
public class MyClass<? extends SomeClass> {}
这些案例有什么区别?
- 第一种情况对我来说非常清楚:您可以使用SomeClass的实例和他的子类的实例作为 MyClass 的类参数。
- 我认为在这种情况下你只能使用MyClass 的子类的实例
- 相同:只使用MyClass 的子类的实例作为 MyClass 的类参数。
我的猜测是对还是错?特别是第二种和第三种情况的使用有什么区别?
提前感谢您的解释!