Проще: вы не можете.
Если вы каким-либо образом модифицируете поля неизменяемого класса, то вы доказали, что он не был неизменным.
Если это ваш собственный класс,тогда, конечно, вы можете учесть изменения после конструирования, написав соответствующие методы, таким образом делая класс изменяемым.
Если вы хотите, чтобы ваш класс оставался неизменным, вы можете заставить модифицирующий метод возвращать свежий экземпляр вашего класса.класс, с измененными значениями поля (например, BigInteger.add()
).Исходный экземпляр остается неизменным, и вы получаете новый с нужными значениями.
Если это чей-то неизменный класс, вы не можете его изменить.Вы должны разобраться с его методами.