Я нашел эту тему, надеясь на некоторые фактические аргументы, но ответы, которые я видел здесь, не помогли мне так много. После нескольких исследований и размышлений я считаю, что необходимо учитывать следующее:
public final
выглядит более чистым для неизменяемых типов. public final
ясно говорит программисту о том, что скрытая магия не возникает, и объект по сути немой:) Если вы находитесь в середине разработки, никакое руководство не останавливает вас, а проект изолирован или вы имеете контроль над всеми которые я предлагаю использовать public final
для неизменяемых типов. Если вы решите, что позже вам нужны геттеры, Eclipse предлагает Refactor
-> Encapsulate Field...
, который автоматически создает их и настраивает все ссылки на это поле.