Сравните этот метод:
void doStuff(String val) {
if (val == null) {
val = DEFAULT_VALUE;
}
// lots of complex processing on val
}
... с этим методом:
void doStuff(String origVal) {
String val = origVal;
if (val == null) {
val = DEFAULT_VALUE;
}
// lots of complex processing on val
}
Для первого метода Eclipse выдает предупреждение «Параметр ' val 'не следует назначать ". Почему?
На мой взгляд, первое чище. Во-первых, это не заставляет меня придумывать два хороших имени для val
(придумать одно хорошее достаточно сложно)
(Примечание: предположим, во включающем классе нет поля с именем val
.)