Eclipse 3.1 incluye pleno soporte para las nuevas características de J2SE 5.0 (que también se conoce como "Tiger"). Una de las consecuencias más importantes de este soporte es que uno ni siquiera se da cuenta de que existe, pues todo lo que cabe esperar que funcione con J2SE 1.4 (incluida la edición, la compilación, la depuración, los arreglos rápidos, las refactorizaciones, las acciones del fuente, la búsqueda, etcétera), funcionará sin fisuras con los nuevos tipos y la nueva sintaxis de J2SE 5.0. En este documento, presentaremos algunas de las prestaciones más interesantes para los usuarios de Eclipse cuando trabajen con J2SE 5.0.
Para poder desarrollar código que esté en conformidad con J2SE 5.0, necesitará un entorno Java de tiempo de ejecución (JRE) de J2SE 5.0. Si inicia Eclipse por primera vez con un JRE de J2SE 5.0, Eclipse lo utilizará por omisión. En caso contrario, tendrá que utilizar el diálogo JRE instalados (Ventanas > Preferencias > Java > JRE instalados) para registrarlo en Eclipse.
En este documento se presentan algunas de las nuevas características de lenguaje de J2SE 5.0 de manera muy resumida, pero esta no es la guía de aprendizaje adecuada para estas características.
Para utilizar las nuevas características de J2SE 5.0, debe estar trabajando en un proyecto que tenga habilitado el nivel de conformidad con 5.0. Resulta fácil marcar que los nuevos proyectos están en conformidad con 5.0 en la primera página del asistente Nuevo > Proyecto:
Para obtener un control más preciso, el nivel de conformidad del compilador se puede establecer globalmente para un espacio de trabajo (Ventanas > Preferencias > Java > Compilador) o individualmente para cada proyecto (en el menú contextual del proyecto, elija Propiedades > Compilador Java). En el espacio de trabajo pueden coexistir proyectos con distintos niveles de conformidad, que dependen unos de otros. También se pueden ajustar con precisión los tipos de avisos y errores del compilador que se producen para cada proyecto, utilizando para ello Propiedades > Compilador Java > Errores/Avisos > Opciones de J2SE 5.0.
Los tipos genéricos permiten que los objetos de una misma clase
funcionen sin peligro en objetos de distintos tipos.
Por ejemplo, permiten garantizar en tiempo de compilación que una
List<String>
siempre contenga tipos String
,
y que una List<Integer>
siempre contenga tipos
Integer
.
En todos los lugares en que Eclipse maneja un tipo no genérico, puede manejar un tipo genérico:
Eclipse 3.1 proporciona nuevas opciones al buscar referencias a tipos genéricos. Fíjese en este ejemplo:
List<Integer>
y se utiliza
Buscar > Referencias > Proyecto,
se resaltarán los tipos de List en las cuatro líneas:
La opción Filtrar incompatible solo deja las referencias a tipos que son compatibles desde el punto de vista de la asignación con el tipo seleccionado:
La opción Filtrar inexacto solo deja las referencias de tipo que tengan exactamente la misma signatura:
Las anotaciones anexan al fuente Java metadatos sobre como se usan y
documentan los tipos y métodos Java, y después pueden afectar a la
compilación o se pueden consultar en tiempo de ejecución. Por ejemplo,
la anotación @Override
desencadenará un aviso del
compilador si el método anotado no altera temporalmente un método de una
superclase:
Todo lo que se puede hacer con un tipo Java, se puede hacer igualmente con una anotación:
Una anotación de gran utilidad que está plenamente soportada en
Eclipse es @SuppressWarnings
.
Por ejemplo, supongamos un método privado que no se utiliza
actualmente, pero que es preferible no suprimir:
@SuppressWarnings
:
foo
:
Las enumeraciones son tipos cuyas instancias se crean en tiempo de ejecución mediante un conjunto finito y conocido de objetos:
Nuevamente, todo lo que se puede hacer con una clase Java, se puede hacer también con una enumeración:
El encaje y el desencaje automáticos hacen posible una sintaxis elegante cuando se asignan tipos primitivos a referencias de objeto o cuando se recuperan tipos primitivos a partir de referencias de objeto:
Las características de manipulación del fuente de Eclipse manejan el encaje automático sin fisuras, proporcionando los tipos correctos a las nuevas variables locales y a las correctas asistencias de código. De cara a la correcta interpretación del código, también es posible señalar las instancias de encaje o desencaje automático como avisos de compilación (Ventana > Preferencias > Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Conversiones de encaje y desencaje) o resaltarlas con el coloreado de sintaxis (Ventana > Preferencias > Java > Editor > Coloreado de sintaxis > Java > Expresiones auto(des)encajadas):
Para el caso habitual de operar en cada elemento de una matriz o colección por turno, J2SE 5.0 ofrece una nueva sintaxis más clara. Eclipse 3.1 proporciona una plantilla de código "foreach" que puede adivinar automáticamente la colección por la que hay que iterar:
Eclipse 3.1 también proporciona la asistencia rápida "Convertir a
bucle for mejorado" para actualizar los bucles for
de
estilo 1.4 donde sea posible.
Las demás características de J2SE 5.0 se manejan de manera flexible con las herramientas de edición, búsqueda y manipulación de código de Eclipse: