我有一些以两种方式使用花括号的Java代码
// 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);
在第一个if
语句之后,这些独立的花括号是什么意思?
copy
可以在outAMethodExp()
返回之前进行垃圾回收。如果这是长时间运行或占用大量内存的电话,则可能会有所帮助。我将“好处”用引号引起来,因为将重构分解为单独的方法通常比利用此语法更简洁明了。