Здравствуйте, vsb, Вы писали:
vsb>В идеале — да. Или, по-современному — record. Ещё есть тонкий момент — List, который передали в конструкторе, вызывающий может потом решить поменять. Поэтому с какой-то точки зрения правильно бы его скопировать, а не просто ссылку сохранить. С другой точки зрения возможно, что в 100% случаев его никто менять не будет и будет пустое копирование, которое просто замедляет программу ради борьбы с призрачной угрозой. Я даже не знаю, как в таких случаях поступать. В идеале бы в языке должны быть отдельные интерфейсы для иммутабельных структур, но в жаве что-то не додумались до сих пор.
Да, в идеале data class котлина + его иммутабл List.