Нашел этот вопрос здесь
И я не могу понять, почему в первом случае он печатает CoolReturn + 1
, а во втором случае CoolReturn
? Как это работает?
Спасибо
====================
Что будет напечатано?
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.append("+1");
}
}
Ответ: CoolReturn + 1
Немного сложнее:
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