Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
antabis
7 лет назад

Призрачно все в этом мире бушующем. Кроме java.lang.String, например

Особенности оберток. Царь ненастоящий или просто immutable?

Простенький код, показывающий что происходит при передаче объекта типа String (или Integer) в метод.  В комментариях в коде - результат из консоли.

Как видите, с объектами типа String и Integer ничего не происходит, они возвращаются из метода в первозданном виде, как будто ничего и не было. В отличие от объекта типа java.lang.StringBuffer, который продался врагу и притащил домой заразу изменил свое значение.

Дело в том, что String и Integer представляют собой т.н. неизменяемые объекты Java, после их создания значение остается константой. А StringBuffer - не является immutable (неизменяемым), его значение подвержено изменениям, например, если передать его в метод, как в коде выше, он вернется с другим значением.

Более того, вы сами вполне можете спроектировать и создать жава-объект как неизменяемый. Для этого есть определенные правила, я напишу о них в следующем посте.

С уважением,
@antabis

1
0.465 GOLOS
На Golos с September 2017
Комментарии (6)
Сортировать по:
Сначала старые