Wpis z mikrobloga

Jeśli dopuszczasz do zmiany stanu obiektu, to już nie jest to obiekt niemutowalny/niezmienny. Możesz go podmienić na inny obiekt ale samego stanu niezmiennego obiektu nie zmienisz. Jeśli byś na to pozwalał, to masz zwykły obiekt, a nie niezmienny.
@AreQrm: Po pierwsze jak odpisujesz to wołaj, a po drugie to według twojej definicji żaden obiekt nie jest niezmienny, raz mi się nawet zdarzyło niechcący zmodyfikować zawartość stringa i nie chodzi mi wcale o utworzenie nowego stringa( ͡° ͜ʖ ͡°)
@Myrten: Przepraszam, masz rację, zapomniałem zawołać.
Co do samej niezmienności, chyba nie do końca cię rozumiem. Obiekty które są niezmienne... nie zmieniają swojego stanu. Inaczej już by takie niezmienne nie były. Udostępniają za to metody (mogą też przeciążać operatory, jak np "+" w przypadku stringa) zwracające nowe obiekty swojego typu. Mógłbyś wyjaśnić o czym piszesz z tym stringiem?
@AreQrm: To że obiekt sam z siebie nie udostępnia na zewnątrz możliwości zmiany nie oznacza że nie da się go zmienić z zewnątrz w inny sposób, chociażby (ale nie tylko) refleksją i już mi się ze 2 razy takie pytania na rozmowach o pracę kiedyś zdarzyły stąd pisząc w "żaden sposób" wprowadzasz ludzi w błąd przez co mogą potencjalnie uwalić rozmowę.

Co do stringa to odpal sobie ten kawałek kodu to
@Myrten: W ten sposób, albo w ogóle dobierając się do pamięci jakkolwiek, można zmienić każdy obiekt. Nie chce wchodzić na taki niski (programowania, nie dyskusji ;-) ) poziom. To bardziej na zasadzie:
-Tych drzwi nie da się otworzyć w żaden sposób.
- A co jeżeli zburzymy ścianę w okół, sufit i podłogę?

Ale rozumiem Twój punkt widzenia. Z tej perspektywy to rzeczywiście nie jest dokładne, ale świadomie w tym wpisie z
@AreQrm: Tyle że refleksja jest standardową częścią platformy, a nie grzebaniem w pamięci :)

Ja doskonale rozumiem twoją perspektywę, ale wyobraź sobie następującą sytuację:

Czytelnik twojego bloga idzie na rozmowę o pracę, pada pytanie o immutables na które on odpowiada poprawnie, ale zaraz po tym pada kolejne pytanie:

"Czy nie ma sposobu żeby jednak zmienić stan obiektu immutable?" na które sugerując się twoim blogiem odpowie nieprawidłowo co może mieć dla niego