Для чего объявляют коллекцию final в методе java?
Который раз натыкаюсь на код на гитхабе вроде:
public List<Integer> meth(){
final ArrayList <Integer> arl = new ArrayList()<>;
... //Какая-то реализация
return arl;
}
Или так:
public map <Integer, Integer> meth(){
final HashMap <Integer, Integer> hmp = new HashMap()<>;
... //Какая-то реализация
return hmp;
}
Где-то в подсознании, у меня есть отдаленное понимание, что сие делается для многопоточного программирования. Но что это даст?
Вопрос: зачем ряд программистов на гитхабе создавая локальную коллекцию делают её final?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Что значит "кто-то собирается там что-то переназначать"? Может и собирается, Вы же не знаете, что в голове у того, кто писал этот код. Программист, использующий final в объявлении переменных и параметров, уважает тех, кто будет читать его код, и стремится облегчить им жизнь. После такой декларации мы уверены, что значение переменной будет присвоено только один раз и не сможет измениться.