1
に対処しながら、私はクラスとインタフェース次き:バウンド不一致エラージェネリックと継承
public class Entity {}
public interface EntitySet<T extends Entity> {}
今、私はクラスEntitySet
インターフェイスを実装し、タイプT
を再利用を書きたいです。
は、だから私が試した:これは私にエラーを与えるSyntax error on token "extends", , expected
public class Method1EntitySet<T> implements EntitySet<T extends Entity>{}
:
Bound mismatch: The type T is not a valid substitute for the bounded parameter of the type EntitySet
これは動作します:
public class Method1EntitySet<T> implements EntitySet<T>{}
これは私にエラーを与える私は、次の試してみました
public class Method1EntitySet<T> implements EntitySet{}
が、それは私が警告を与える:
EntitySet is a raw type. References to generic type EntitySet should be parameterized.
はまた、私は推測する、T
の上にはEntity
を延長することを余儀なくされていません。
どうすればよいですか?
と私はT ' 'のタイプを指定したい場合は、単に' TはEntity'を拡張しませんか? – anir
'publicクラスMethod1EntitySetはEntitySet {}'を実装しています。これを指定している場合、型変数は必要ありません。 –
@anirこの場合、 'implements EntitySet'節でTを使用することはできません。 –
Eran