Eventuali duplicati:
When should one use final?È buona pratica dichiarare le variabili "finali" laddove possibile?
tendo a dichiarare tutte le variabili final
se non strettamente necessario. Considero ciò una buona pratica perché consente al compilatore di verificare che l'identificatore sia usato come mi aspetto (ad esempio non è mutato). D'altra parte ingombra il codice e forse questo non è "il modo Java".
Mi chiedo se esiste una best practice generalmente accettata per quanto riguarda l'uso non obbligatorio delle variabili finali e se ci sono altri compromessi o aspetti di questa discussione che dovrebbero essere messi a conoscenza.
L'idea di codice facoltativo che può o non può esprimere l'intento dello sviluppatore e che può o non può portare a ottimizzazioni del compilatore suona come qualcosa di un fumetto XKCD. – jordanpg
La grande cosa è stare molto attenti con ciò che intendi per finale. gli oggetti mutabili finali possono ancora essere modificati, cosa che alcuni neofiti dimenticano. Questo è il grosso problema che ho con il finale davvero, ogni volta che sto lavorando con un oggetto mutevole l'intento * del finale diventa fangoso, conosco il significato letterale, ma la persona che usa finale è davvero d'accordo con me modificando il contenuto dell'oggetto anche se è definitivo o no? – dsollen