Nuevas Características de Lenguaje en J2SE 5.0

Gonzalo Mena Mendoza

Protocolos Avanzados de Redes

Maestría en Ingeniería de Software Distribuido

Universidad Autónoma de Querétaro

Artículo Original

Programming with the New Language Features in J2SE 5.0

Qusay H. Mahmoud

Sun Developer Network

Junio 2004

Introducción

Nuevas Características del Lenguaje

Genéricos

Genéricos (antes)

Esto compila correctamente:


  import java.util.*;

  public class Ej1 {
    public static void main(String args[]) {

      List lista = new ArrayList();
      lista.add(new String("¡Hola!"));
      lista.add(new String("¡Adiós!"));
      lista.add(new Integer(95));

      Iterator i = c.iterator();
      while(i.hasNext()) {
        String item = (String) i.next();
        System.out.println("Artículo: " + item);
      }
      
    }
  }
  

Genéricos (problema)

Pero falla al ejecutarse:


  Artículo: ¡Hola!
  Artículo: ¡Adiós!
  Exception in thread "main" java.lang.ClassCastException: java.lang.Integer
          at Ej1.main(Ej1.java:14)
  

Genéricos (ahora)

Problemas detectados durante compilación:


  import java.util.*;

  public class Ej2 {
    public static void main(String args[]) {

      List<String> lista = new ArrayList<String>();
      lista.add(new String("¡Hola!"));
      lista.add(new String("¡Adiós!"));
      lista.add(new Integer(95)); // error

      Iterator<String> i = c.iterator();
      while(i.hasNext()) {
        String item = i.next();
        System.out.println("Artículo: " + item);
      }
      
    }
  }
  

Bucle for aumentado (definición)

Bucle for aumentado (colección)

Bucle for aumentado (arreglo)

Autoempacado/Desempacado

Enumeraciones de Tipo Seguro (problema)

Enumeraciones de Tipo Seguro (nueva sintaxis)

Enumeraciones de Tipo Seguro (ejemplos)

Importación Estática (antes)

Importación Estática (ahora)

Metadatos

Argumentos Variables

Salida y Entrada

Sincronización

Conclusión

Mas Información