Eclipse has an option to warn on assignment to a method\'s parameter (inside the method), as in:
public void doFoo(int a){
if (a<0){
a=0; // this
Different compiler warnings can be appropriate for different situations. Sure, some are applicable to most or all situations, but this does not seem to be one of them.
I would think of this particular warning as the compiler giving you the option to be warned about a method parameter being reassigned when you need it, rather than a rule that method parameters should not be reassigned. Your example constitutes a perfectly valid case for it.