2016-08-17 2 views
0

Ich habe eine Klasse BatchConfigurableJava Generics: Klasse, die eine Klasse nimmt, die eine andere Klasse

public class BatchConfigurable<T extends BatchContext>() {} 

Ich versuche es einen Wrapper zu schreiben dauert. Dies ist eine weitere Klasse, die diese Klasse oder jede Klasse übernimmt, die BatchConfigurable als Parameter erweitert. Für die Erklärung, ich versuche:

public class WrappedBatchConfigurable<E extends BatchConfigurable <T extends BatchContext>>() {} 

Dies ist ungültig, aber wie sollte aus dem Code klar sein, möchte ich die Eigenschaft erhalten, dass der Subtyp von BatchConfigurable dass WrappedBatchConfigurable eine Art sollte nehmen nimmt das BatchContext reicht Parameter. Was wäre die Syntax dafür?

+0

Keine Notwendigkeit, Generika im Wrapper zu verwenden. Wenn Sie ein Feld im Wrapper vom Typ 'BatchConfigurable' haben, kann es automatisch Typen enthalten, die' BatchConfigurable' erweitern. –

Antwort

2

Sie müssen Ihren Typparameter T angeben, bevor Sie ihn verwenden.

class WrappedBatchConfigurable<T extends BatchContext, E extends BatchConfigurable<T>> {} 
Verwandte Themen