Ahora tengo tres preguntas que aunque cortas me parecen claves saber para la programación con Genéricos y Colecciones.
1.- Cuál es el resultado de compilar y ejecutar el siguiente programa?
[A].- 15.09
1.0
1.0
2.0
[B].- 15.09
1.0
2.0
[C].- 15.09
1
1
2
[D].- 15.09
1.0
1
2
[E].- Error de compilacion
2.- Qué opción se debe colocar en la línea 6 donde aparece XXXX (las 4 xs) para que el programa compile?
[A].- Object[ ]
[B].- Integer[ ]
[C].- int[ ]
[D].- cualquiera de las anteriores
[E].- A o B
[F].- B o C
3.- Cuál es el resultado de compilar y ejecutar el siguiente código?
[A].- truetrue
[B].- truefalse
[C].- falsetrue
[D].- falsefalse
[E].- Error de compilación
[F].- Exception en tiempo de ejecución
RESPUESTAS.-
1.-[E] Hay un error de compilación en la linea 14 debido a que no puedo asignar un objeto ArrayList<Double> a uno ArrayList<Object> ya que en genericos no hay relación de superclase y subclase, es decir se comportan como objetos distintos. Si se quisiera realizar esta operación puede cambiar la línea 5 de List<Object> a List<?> (Comodín) para mas información consulte el artículo de Genéricos Aquí
2.-[A] el método toArray() de List devuelve un arreglo de tipo Object[ ].
3.-[E] Si se desea saber si un objeto TreeSet o Collection debe usarse las colecciones pero sin los tipos de datos parametrizado, algo como:
coleccion instanceof TreeSet
coleccion instanceof Collection
No se puede saber si es una instancia de un genérico parametrizado.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario