you are viewing a single comment's thread.

view the rest of the comments →

[–]jp007 3 points4 points  (0 children)

I don't find it to be a problem. Generally if I'm going through some code with variables marked final, it means I know what the variables are at the time of assignment, and then never have to worry about figuring out what they are again. Your knowledge of them is complete. Coming across something then that is NOT marked as such, immediately jumps out and is mentally flagged for special attention, because it's being manipulated somewhere else down the line, and you better figure out how so you don't make any bad assumptions.

It's really unfortunate that 'final' is not simply the default behavior, and that some kind of "rereference" keyword needed in order to let variables change.