Pregunta de prueba - Certificacion en Java

Encontré esta pregunta y me pareció interesante reescribirla acá.

abstract class A<K extends Number> {
   // insert code here
}    

Which of the following my be inserted above:

   1.     public abstract <K> A<? extends Number> useMe(A<? super K> k);
   2.     public abstract <K> A<? super Number> useMe(A<? extends K> k);
   3.     public abstract <K> A<K> useMe(A<K> k);
   4.     public abstract <V extends K> A<V> useMe(A<V> k);
   5.     public abstract <V super K> A<V> useMe(A<V> k);
   6.     public abstract <V extends Character> A<? super V> useMe(A<K> k);
   7.     public abstract <V super Character> A<? super V> useMe(A<K> k);

Cual es la respuesta correcta? Quién da más quién da más?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Nopalin

hmm

¿Por qué hay respuestas repetidas?, como quiera yo creo que cualquiera de la 3, 4 o 5, por que para el resto estas haciendo una declaracion tipeada en el metodo pero hace falta el valor a retornar.

¿estoy bien o mal?

ouch...

Las opciones se habían estropeado, ya lo corregí

Imagen de Nopalin

vamos a ver

yo me quedo con la respuesta numero 4

Imagen de francisco.santiagoj

Duda

Sigo estudiando JAVA, y me tope con esta declaración, posteo aquí mi duda pues las clases usar el mismo carácter del que tengo duda, alguien me puede sacar de la duda y explicarme que significa una declaración así:

public void volcar(Class<?> bean)

De antemano gracias.

Imagen de ezamudio

Class es genérica

La clase Class ha sido "generificada" a partir de Java 5. La verdad no sé ni para qué, no fue tan útil en ese caso, porque la mayoría de las veces se usa como dices, Class<?>, que significa simplemente una clase que hereda de quién sabe quién.

Si no habías visto esta notación, lee acerca de generics. En colecciones y algunas interfaces son bastante cómodos de usar, simplifican un poco la sintaxis haciendo innecesarios varios casts. Por ejemplo, en Java 4 y previos si tienes un Comparator solamente podía comparar dos Object, ahora puedes tener implementaciones que comparen objetos ya de ciertas clases, simplemente defines tu comparador con la clase que vas a comparar.

Imagen de francisco.santiagoj

Gracias

Gracias, ya leí acerca de generics y listo, duda resuelta.

Saludos