Tengo un código Java que usa llaves de dos maneras
// Curly braces attached to an 'if' statement:
if(node.getId() != null)
{
node.getId().apply(this);
}
// Curly braces by themselves:
{
List<PExp> copy = new ArrayList<PExp>(node.getArgs());
for(PExp e : copy)
{
e.apply(this);
}
}
outAMethodExp(node);
¿Qué significan esas llaves independientes después de la primera if
declaración?
copy
se puede recolectar la basura antes de lasoutAMethodExp()
devoluciones. Si se trata de una llamada de larga duración o que requiere mucha memoria, puede resultar útil. Puse "beneficio" entre comillas porque la refactorización en métodos separados es generalmente mucho más limpia y clara que aprovechar esta sintaxis.