2011-11-06 16 views
7

Dlaczego ten kompilacji:Dlaczego ogólne ograniczenie "E implementuje I" powoduje błąd kompilatora?

class MaxMin<E extends Comparable<E>> 
{ 
    E max=null; 
    E min=null; 
} 

... ale to nie robi?

class MaxMin<E implements Comparable<E>> 
{ 
    E max=null; 
    E min=null; 
} 
+0

zakładać błędy kompilacji, jak również. . – Kashyap

+0

porównywalny nie jest interfejsem? – Joe

+0

@AbstractDownvoteFactory, [Comparable] (http://download.oracle.com/javase/7/docs/api/java/lang/Comparable.html) to interfejs. –

Odpowiedz

15

ogólne granice typu tylko określić extends i super.

Cytowanie Java Generics Tutorial (podkr)

zadeklarować ograniczone parametr typu lista nazwę parametru type, w następnie słowa kluczowego extends, a następnie przez jego górną granicę, która w ten przykład jest liczbą. Należy zauważyć, że w tym kontekście, rozciąga służy w ogólny sens oznaczać zarówno „rozciąga” (jak w klasach) lub „narzędzia” (jak w interfejsach)

Powiązane problemy