const Rückgabe
-
Kann man das in Java irgendwie realisieren? Also eine referenz zurückgeben, die aber nicht mehr verändert werden darf, also constant ist. Ich komm einfach nicht drauf, ein ausweg währe eine Kopie des Objectes zurückzugeben was aber ziehmlich Resourcenverschwendend währe.
Thanks in Advance
-
Nein, kann man nicht. In Java funktioniert constness über immutable classes.
Dafür muss man sich nicht mit Fragen wie logischer Konstantheit herumschlagen, wofür man dann wieder mutable und andere Scherze braucht.
Insgesamt ist Java jedoch weniger const-sicher als z.B. C++. Damit muss man einfach leben. Referenzen final zu machen hilft btw. in keinster Weise dabei, dass das Objekt nicht mehr verändert wird.
-
Also vollkommen sicher kann ich nur gehen wenn ich wircklich nur Kopien meiner Objekte von der Methode zurückliefer, schade aber da kann man nichts machen ...
-
Oder eben immutable classes. Immutable classes sind nicht immer sinnvoll oder möglich, aber wenn das möglich und sinnvoll ist, ist es besser als alles, was dir irgendein const bieten kann.
Schau dir dazu z.B. mal String an.
Poste doch mal deine Klasse, vielleicht ist sie ja ein Kandidat für sowas.