При просмотре исходного кода Java API я часто вижу параметры метода, переназначенные локальным переменным. Почему это когда-либо сделано?
void foo(Object bar) {
Object baz = bar;
//...
}
Это в java.util.HashMap
public Collection<V> values() {
Collection<V> vs = values;
return (vs != null ? vs : (values = new Values()));
}