Może to brzmieć jak dziwne pytanie, ale jak zdefiniować rodzajowy, który musi rozszerzyć klasę I, aby zaimplementować interfejs? Mam obecnie funkcję ogólną z następującym prototypem:Ogólna klasa rozszerzająca ORAZ implementuje interfejs
public static <E extends Enum<E>> List<E> buildEnumList(Class<E> enumClass)
Działa to tak samo. Mój problem polega na tym, że chcę jeszcze bardziej ograniczyć dozwolone klasy do tych, które są wyliczone i zaimplementować określony interfejs Readable
(nie w java.lang). Ponieważ ogólna używa tego samego słowa kluczowego extends
, aby wskazać, że powinien implementować interfejs, ja nie widzę żadnego sposobu, aby uzyskać następujące pseudo zachowanie:
public static <E extends Enum<E> implements Readable> List<E> buildLexicographicalEnumList(Class<E> enumClass)
Do oddzielenia można również użyć przecinka. – corsiKa
@corsiKa Tak też myślałem, ale nie mogę go znaleźć [w JLS] (http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4). Chociaż ma to na celu kompilację. – assylias
Teraz obawiam się, że faktycznie robią dwie różne rzeczy ... :-( – corsiKa