Pregunta de prueba - Certificacion en Java
Encontré esta pregunta y me pareció interesante reescribirla acá.
// 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?
- Inicie sesión o regístrese para enviar comentarios
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í
vamos a ver
yo me quedo con la respuesta numero 4
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.
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 dosObject
, ahora puedes tener implementaciones que comparen objetos ya de ciertas clases, simplemente defines tu comparador con la clase que vas a comparar.Gracias
Gracias, ya leí acerca de generics y listo, duda resuelta.
Saludos