Responder a la pregunta sobre la limitación del alcance de una variable, en lugar de hablar de cerrar / eliminar automáticamente las variables.
En Java, puede definir ámbitos cerrados y anónimos utilizando llaves. Es extremadamente simple.
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
La variable hooray
solo está disponible en este ámbito y no fuera de él.
Esto puede ser útil si tiene variables repetidas que son solo temporales.
Por ejemplo, cada uno con index. Al igual que la item
variable se cierra en el ciclo for (es decir, solo está disponible dentro de él), la index
variable se cierra en el ámbito anónimo.
// first loop
{
Integer index = -1;
for (Object item : things) {index += 1;
// ... item, index
}
}
// second loop
{
Integer index = -1;
for (Object item : stuff) {index += 1;
// ... item, index
}
}
También utilizo esto a veces si no tiene un bucle for para proporcionar el alcance de la variable, pero desea usar nombres de variable genéricos.
{
User user = new User();
user.setId(0);
user.setName("Andy Green");
user.setEmail("andygreen@gmail.com");
users.add(user);
}
{
User user = new User();
user.setId(1);
user.setName("Rachel Blue");
user.setEmail("rachelblue@gmail.com");
users.add(user);
}
using
hace. El alcance no es de por vida (yusing
tampoco se trata de vida, estrictamente hablando, yaDispose
que no destruye la memoria de un objeto)