OBJETOS IMUTÁVEIS EM JAVA
Quando iniciamos os estudos em nosso amado Java, conhecemos os tipos primitivos (assunto para outro artigo/publicação), que podem ter seus valores alterados após serem declarados. Mas também existem objetos que não permitem alteração, chamados imutáveis, que necessariamente ao serem declarados precisam também ser instanciados (new nome-do-objeto, ou instanciação atribuindo o valor).
Abaixo uma lista de alguns deles (caso tenha esquecido de algum, desculpe, pode comentar):
● String: cadeia de caracteres. Ao realizar operações com o objeto original, como por exemplo concatenação, um outro objeto será criado, mas não serão feitas alterações no original.
● BigInteger e BigDecimal: presentes no pacote java.math, trabalham com números inteiros e decimais com alta precisão, respectivamente.
● LocalDate, LocalTime, LocalDateTime e Instant: presentes no pacote java.time, trabalham com valores de tempo e datas.
● Enum: ao definirmos os valores das constantes previamente, poderemos apenas acessá-los, sem alterar.