tengo par de pensamientos con respecto a lo siguiente:La sintaxis <T se extiende Clase <T>> en Java
public interface MaxStack<T extends Comparable <T>>
1-¿Por qué la clase que implementa MaxStack
debe escribirse así:
public class MaxStackclass<T extends Comparable <T>> implements MaxStack<T>
y no public class MaxStackclass<T extends Comparable <T>> implements MaxStack<T extends Comparable <T>>
?
2- ¿Por qué las variables privadas de esta clase, cuando uso genéricos, deberían escribirse solo con <T>
y no con <T extnds Comparable<T>>
? Por ejemplo, private List<T> stack= new ArrayList<T>();
3-¿Cuál es la diferencia entre <T extends Comparable<T>>
y <T extends Comparable>
- si necesito comparar bewteen elementos en mi clase, tanto habrá O.K, ¿no?
Edit: Creo que el problema con 3 es que tal vez permite insertar una lista que se definió de la segunda manera para tener diferentes elementos que se extienden desde comparables y luego cuando quiero compararlos, ganó No será posible, ya que no podemos comparar Cadena con Entero, ambos se extienden desde Comparable.
Sólo una pequeña crítica del estilo: el nombre de la clase pública no es CamelCase, una convención que evita malos entendidos. Si bien no es un problema con las clases anidadas, en este caso es una clase pública ... –
Gracias @Tassos. – Numerator
para obtener mejores resultados use '>' –
newacct