public void testFinally(){
System.out.println(setOne().toString());
}
protected StringBuilder setOne(){
StringBuilder builder=new StringBuilder();
try{
builder.append("Cool");
return builder.append("Return");
}finally{
builder=null; /* ;) */
}
}
为什么输出结果是"CoolReturn"而不是null?
谨致问候,
Mahendra Athneria
builder
是一个引用。将引用设置为 null 将取消该引用,但它所引用的对象仍然存在,直到被垃圾回收。另一方面,append
修改了对象(或其属性之一)。 - Powerlord