私はJavaジェネリックの研究を始めました。そして、私はジェネリック構文とその意味についていくつかの誤解を持っています。私の質問が些細なことだと思われる場合は、理解して扱ってください。
あなたは書ける:
public class MyClass<SomeClass> {}
そしてあなたは書くことができます:
public class MyClass<C extends SomeClass> {}
そしてあなたはまた書くことができます:
public class MyClass<? extends SomeClass> {}
これらの場合の違いは何ですか?
- 最初のケースは私には絶対に明らかです。SomeClassのインスタンスとそのサブクラスのインスタンスをMyClassのクラスのパラメーターとして使用できます。
- この場合、MyClassのサブクラスのインスタンスのみを使用できると思います
- 同じ:MyClassのサブクラスのインスタンスのみをMyClassのクラスのパラメーターとして使用します。
私の推測は正しいですか?特に、2番目と3番目のケースの使用の違いは何ですか?
説明ありがとうございます!