Сравните этот метод:
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
.)