Рассмотрим
protected StringBuilder setOne(){
StringBuilder builder=new StringBuilder();
try{
builder.append("Cool");
return builder.append("Return");
}finally{
builder.append("+1");
}
}
как
protected StringBuilder setOne(){
StringBuilder builder=new StringBuilder();
try{
builder.append("Cool");
StringBuilder ret = builder.append("Return"); // 1
return ret; // 2
}finally{
builder.append("+1"); //3
}
}
, строка 1 выполнена, builder
возвращается как результат.Затем выполняется строка 3, и к builder
добавляется +1
, затем возвращается ret
, который является «ссылкой» на объект, на который ссылается builder
.То же самое для второго случая.Надеюсь, это понятно.