, похоже, это должно быть нулевым, но с концепцией передачи по ссылке в Java, вот как это происходит:
1> return builder.append("Return")
... выполняется строка и копия метода builder возвращается методу testFinally () путем передачи по ссылке
2> При выполнении builder=null
в finally block ссылка builder разыменовывается, но фактический объект, находящийся в куче, на который ссылается ссылка на построитель , ранее существовавшая в куче, и возвращаемая копия ссылки на построитель (которая также является ссылкой на тот же объект) все еще существует, и это удерживая значение «CoolReturn», поэтому печатает возвращаемое значение.