La conferencia Devoxx finalizó hace unos días. Un asistente resumió los contenidos importantes de esta conferencia. Habló sobre los cambios importantes en Java 7 de la siguiente manera:
1. Soporte para colecciones
Código Java 1.Lista lista = nueva ArrayList();
2.list.add("elemento");
3.Elemento de cadena = list.get(cero);
4.
5.Establecer conjunto = nuevo HashSet();
6.set.add("elemento");
7.
8.Mapa mapa = nuevo HashMap();
9.map.put("clave", 1);
10.int valor = map.get("clave");
Lista lista = nueva ArrayList();
lista.add("elemento");
Elemento de cadena = list.get(zero);
Conjunto conjunto = nuevo HashSet();
set.add("elemento");
Mapa mapa = nuevo HashMap();
map.put("clave", uno);
int value = map.get("key"); Ahora aún puedes:
Código Java 1. Lista lista = ["elemento"];
2. Elemento de cadena = lista [cero];
3.
4.Establecer conjunto = {"elemento"};
5.
6.Mapa mapa = {"clave": uno};
7.int valor = mapa["clave"];
Lista lista = ["elemento"];
Elemento de cadena = lista[cero];
Establecer conjunto = {"elemento"};
Mapa mapa = {"clave": uno};
valor int = mapa["clave"];
2. Gestión automática de recursos
Código Java 1.BufferedReader br = nuevo BufferedReader (nuevo FileReader (ruta));
2.intenta {
3. devolver br.readLine();
4.} finalmente {
5. br.cerrar();
6.}
BufferedReader br = nuevo BufferedReader (nuevo FileReader (ruta));
intentar {
devolver br.readLine();
} finalmente {
br.cerrar();
}
se convierte en:
Código Java 1.try (BufferedReader br = nuevo BufferedReader (nuevo FileReader (ruta)) {
2. devolver br.readLine();
3.}
4.
5. Puedes declarar más de un recurso para cerrar:
6.
7.intenta (
8. InputStream en = nuevo FileInputStream(src);
9. OutputStream out = nuevo FileOutputStream(dest))
10.{
11. // código
12.}
intente (BufferedReader br = nuevo BufferedReader (nuevo FileReader (ruta)) {
devolver br.readLine();
}
Puede declarar más de un recurso para cerrar:
intentar (
InputStream en = nuevo FileInputStream(src);
OutputStream out = nuevo FileOutputStream(dest))
{
// código
}
3. Se mejoró el extracto tipográfico de la creación de ejemplos generales (diamante)
Código Java 1.Mapa> anagramas = nuevo HashMap>();
Mapa>anagramas = nuevo HashMap>();
se convierte en:
Código Java 1.Map> anagramas = nuevo HashMap<>();
Mapa> anagramas = new HashMap<>(); 4. Los valores se pueden subrayar.
Código Java one.int one_million = one_000_000;
int un_millón = uno_000_000;
5. La cadena se puede utilizar en el interruptor.
Código Java 1.Cadena s = ...
2.interruptor(es) {
3. caso "quux":
4. procesarQuux(s);
5. // fracaso
6.
7. caso "foo":
8. caso "barra":
9. procesarFooOrBar(s);
10. romper;
11.
12. caso "baz":
13. procesoBaz(s);
14. // caída
15.
16.predeterminado:
17. procesoDefault(s);
18.romper;
19.}
Cadena s = ...
interruptor(es) {
caso "quux":
procesoQuux(s);
// caída
caso "foo":
caso "barra":
procesoFooOrBar(s);
romper;
caso "baz":
procesoBaz(s);
// caída
por defecto:
procesoDefault(s);
romper;
}
6. Literales binarios
Código Java one.int binario = cero b1001_1001;
int binario = cero b1001_1001;
7. Simplificó la llamada de pasos de parámetros variables.
El editor genera una advertencia de "operación insegura" cuando el programador intenta utilizar varargs no reducibles y llama a un paso *varargs* (variable).