
Митко Соловец?
18.10.2016
22:44:31
я могу изменить его содержимое

Мытко
18.10.2016
22:44:54
mutable - изменчивый
immutable - неизменчивый

Google

Мытко
18.10.2016
22:45:11
ты путаешь терминологию

Митко Соловец?
18.10.2016
22:45:16
тьфу
мутабельный короче

Мытко
18.10.2016
22:45:30
короче
рассказываю соль как сделать immutable класс с мутабельными полями
даже если они файнал и всё такое

Митко Соловец?
18.10.2016
22:46:00
зачем?

Мытко
18.10.2016
22:46:10
ну хз
ЗАТЕМ

James Tiberius Kirk ?
18.10.2016
22:46:32

Мытко
18.10.2016
22:47:12
поменяй значение у строки

James Tiberius Kirk ?
18.10.2016
22:47:25
не считается

Митко Соловец?
18.10.2016
22:47:31
хех

Google

Мытко
18.10.2016
22:48:13
ладно
нахер что-то рассказывать
если можно идти спать

Vanya
18.10.2016
22:48:37
инстанс которого*

Митко Соловец?
18.10.2016
22:59:00
http://pastebin.com/TZBBCgEN

Мытко
18.10.2016
22:59:35
ты это к чему?

Митко Соловец?
18.10.2016
22:59:56
псевдо неизменяемый объект, если не копировать параметр массива, то внешние процессы могут изменить это поле
да все к разговору, как сделать неизменяемый класс в жабке

Виталий
18.10.2016
23:01:27
ну так надо копировать значит)

Митко Соловец?
18.10.2016
23:01:37
ага
this.array = array.clone();
более того, для геттеров тоже самое)

Виталий
18.10.2016
23:02:23
угу

Митко Соловец?
18.10.2016
23:02:32
и это тот случай, когда без них не обойтись

Мытко
18.10.2016
23:09:08
проверяй
@dmsol
http://pastebin.com/6S4HfZ3z

Митко Соловец?
18.10.2016
23:11:04
а что это?
какой кейс

Google

Мытко
18.10.2016
23:11:12
твой же класс
только он неизменчивый

Митко Соловец?
18.10.2016
23:11:25
эммм
да, правда непонятно зачем метод апдейт эррэй через который можно менять
и который могут дернуть нерадивые коллеги

Мытко
18.10.2016
23:12:27
возвращается новый объект
никаких проблем

Митко Соловец?
18.10.2016
23:13:26
ну как вариант
еще геттеры для примитивов добавить
и стринги

Мытко
18.10.2016
23:14:01
гетеры для массива
ХЭХ

Митко Соловец?
18.10.2016
23:14:20
для массива с копированием можно

Мытко
18.10.2016
23:14:25
ладно, для элемента

Митко Соловец?
18.10.2016
23:14:44
или геттер с индексом

Мытко
18.10.2016
23:14:52
сделать метод get(int index)

Митко Соловец?
18.10.2016
23:14:52
чтобы не сам массив возвращал, а элемент

Мытко
18.10.2016
23:14:54
и усе

Митко Соловец?
18.10.2016
23:14:55
да да

Мытко
18.10.2016
23:14:57
да

Google

Мытко
18.10.2016
23:15:11
иммутабельность для самых маленьких

Митко Соловец?
18.10.2016
23:15:22
да
http://dic.academic.ru/pictures/wiki/files/75/Kirkorovham.jpg

sss3 ?
18.10.2016
23:16:36
Вы чё тут курите
Отсыпте

Мытко
18.10.2016
23:16:53
а что такое
кстати
я накосячил
ну да ладно

Admin
ERROR: S client not available

Мытко
18.10.2016
23:18:49
никто же не заметил
https://i.imgur.com/UJ3zCla.png
если продолжить работать со старым объектом, то он изменится

sss3 ?
18.10.2016
23:20:51
А массив передается по значению же? Я чет забыл))

Мытко
18.10.2016
23:21:27
массив внезапно объект
да

sss3 ?
18.10.2016
23:21:28
А ну судя твоему вопросу - нет)
Я просто посмотрел на твой скрин и чет засомневался))
Что он по ссылке передается)

Мытко
18.10.2016
23:24:10
https://i.imgur.com/W8HqA3z.png

Google

Мытко
18.10.2016
23:24:13
выходит как-то так
но это немного ад
типа, массив копируется во время созадания объекта
чтобы извне объекта ты этот массив поменять не мог
костыли костылечки
чтобы два раза не копировать придется второй конструктор делать
https://i.imgur.com/Xrbyt9g.png
типа такого
я ещё выяснил, что не все можно изменить через рефлексию
точнее не все final поля
всё просто на самом деле
если хочешь многопоточку писать, используй иммутабельные классы

Dmitriy
19.10.2016
02:40:34
http://pastebin.com/gVPMS2FZ
умеет приватные сериализовать, только надо принудительно указать, что надо через @JsonProperty
вот что я получил`{"x":1,"y":"s","z":true}`
еще есть вариант с http://fasterxml.github.io/jackson-annotations/javadoc/2.8/com/fasterxml/jackson/annotation/JsonAutoDetect.Visibility.html#ANY

James Tiberius Kirk ?
19.10.2016
07:40:15
Да
какие есть гуд практики по хендлингу экшепшонов
чтобы внезависимости от поведения того кто пользуется бекендом я не сыпал ему 500-ми ошибками

Stanislav
19.10.2016
09:19:00
какая-то странная цель. А что клиент должен видеть, если на бэкэнде произошел ексепшн? 204?

James Tiberius Kirk ?
19.10.2016
09:21:32
код ошибки и текст ошибки например

Pavel
19.10.2016
09:23:45
Лист, у тебя кодинг гайдов нет?