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