Trece preguntas de Java del estilo de los exámenes de certificación: un trozo de código corto, varias respuestas posibles y solo una correcta. Casi todas tienen trampa, porque el código compila pero no hace lo que parece, o no compila por un detalle que se pasa por alto.
Se publicaron entre 2013 y 2014 como imágenes y se han reescrito en texto: cada una trae el código, las opciones y la respuesta explicada, y todas se han comprobado con Java 25. Para aprender el lenguaje desde el principio está la guía de Java en diez lecciones.
Hilos
- Llamar a run() en vez de start()El código, las opciones y la respuesta explicada.
- start() con un argumentoEl código, las opciones y la respuesta explicada.
- Dos hilos y una variable compartidaEl código, las opciones y la respuesta explicada.
- wait() fuera de synchronizedEl código, las opciones y la respuesta explicada.
- wait() sin el monitor correctoEl código, las opciones y la respuesta explicada.
Colecciones y arrays
- El orden de un HashSetEl código, las opciones y la respuesta explicada.
- HashSet sin equals ni hashCodeEl código, las opciones y la respuesta explicada.
- binarySearch con nullEl código, las opciones y la respuesta explicada.
Serialización y entrada/salida
- Campos transient al serializarEl código, las opciones y la respuesta explicada.
- Serializar una clase cuyo padre no es SerializableEl código, las opciones y la respuesta explicada.
- Leer más allá del final de un archivoEl código, las opciones y la respuesta explicada.
El lenguaje
- Clases internas anidadasEl código, las opciones y la respuesta explicada.
- Un assert que nunca fallaEl código, las opciones y la respuesta explicada.
