2012-05-26 12 views
6

Estoy escribiendo un método que toma como único parámetro una lista de objetos comparables y no devuelve nada. Soy incierto en cuanto a la sintaxis que debe tener:Java Sintaxis para una lista de objetos comparables

public static void methodName(List<Comparable<Object>> list) { 
    // Do some stuff 
} 

creo que esto es incorrecto debido a la <Object> como un tipo para Comparable, lo que significaría la lista puede tomar un número entero y un booleano como objetos, pero No quiero eso. Quiero que la lista tome solo un tipo, pero ese tipo tiene que implementar la interfaz Comparable. ¿Cómo logro eso?

+0

¿Por qué no le gustaría tomar '' Integer' y tipos boolean' cuando el método debería funcionar para todos los objetos que implementan 'Comparable' de todos modos? –

+3

@Jake: Debería funcionar con una lista de 'Integer' y con una lista de' Boolean', pero no con una lista que contenga 'Integer's y' Boolean's al mismo tiempo. –

+0

@Niklas Ah, entiendo, leí mal la pregunta. ¡Gracias! –

Respuesta

10

Tal vez lo haga genérico?

public static <E extends Comparable<E>> void methodName(List<E> list) ... 
+0

Enlace a los tutoriales de Java para los curiosos [https://docs.oracle.com/javase/tutorial/java/generics/boundedTypeParams.html](https://docs.oracle.com/javase/tutorial/java /generics/boundedTypeParams.html) – Pegasaurus

Cuestiones relacionadas