La mayor diferencia entre las dos versiones de Java es la nueva función de los genéricos . Los genéricos le permiten dejar el tipo de un determinado argumento o campo ambiguo. Al crear una instancia de la clase en el código, se puede especificar qué tipo debe usar. Son útiles para las estructuras de datos , como listas o árboles , que le permite escribir una sola clase para hacer frente a las estructuras de enteros , cadenas o cualquier otra cosa .
Para Loops
Otra diferencia importante es una mejora para la sintaxis del bucle. En lugar de tratar con iteradores , usted puede escribir un bucle que irá automáticamente a través de todos los elementos de una estructura iterable o todos los elementos de una matriz.
Autoboxing y Unboxing
En Java 1.4 , cada vez que utilizó clases de contenedor para los diferentes tipos primitivos , que tuvo que lidiar con ellos como cualquier otra clase , con sus constructores y métodos de acceso. En Java 1.5 , puede utilizar instancias de una clase de contenedor como un tipo primitivo , Java y sabrá lo que quiere decir.
Enumeraciones
Java 1.5 introduce enumeraciones , corto para las enumeraciones. Estos son básicamente los tipos personalizables . Cuando usted hace una enumeración , que enumera los diferentes valores válidos. A continuación, puede utilizar la enumeración como un tipo primitivo . Es mucho mejor que la creación de listas de enteros finales para las constantes .
Conjunto arguments
Ahora hay una nueva sintaxis para pasar arrays como argumentos a funciones . En lugar de utilizar una matriz como un argumento , puede utilizar la nueva "..." sintaxis . Entonces, en vez de construir una matriz para pasar a la discusión, usted puede enumerar los elementos de la llamada a la función y va a empacar automáticamente en un array.
Static Import
Otra nueva característica es la capacidad de importar los miembros estáticos de clases. En lugar de escribir interfaces que sólo tengan campos estáticos , puede escribir clases presenciales con ellos y sólo tiene que utilizar la importación estática.
Anotaciones
La última diferencia importante entre los dos Java versiones es la nueva característica de las anotaciones de metadatos . Estas son pequeñas notas a los que el compilador puede adjuntar a sus métodos , diciéndole que se añadirá automáticamente a determinados métodos o campos , o tratar el método diferente.