G
shisha schrieb:
wenn du schon dabei bist,
was ist der grund dafür dass Number keine Operationen kennt und warum sind alle Basisklassen immutable?
Das führt immer wieder zu Problemen bei mir dass ich Wrapperklassen drum rum schachteln muss.
es gibt eine reihe sehr guter gründe, warum klassen immutable sind
joshua bloch kann es gar nicht oft genug erwähnen, hier sei auch gleich effective java genannt
+thread save
+kein copy constructor nötig und auch kein clone
+einfach zu bauen und zu pflegen
+keine zustandsprobleme
ferner möchte ich nciht zustimmen, dass alle basisklassen immutable sind
wrapperklassen worum schachteln? durch die einführung von autoboxing klappt es doch zwischen primitiven und klasse ohne probleme
und warum sollte number operationen kennen?
wir habne den fall, dass z.B. biginteger add kennt
und integer nicht, dafür können wir auch wieder int benutzen und das wie gesagt, dank autoboxing fast ohne das wir es überhaupt merken
biginteger besitzt natürlich eine völlig andere implementierung der addition, basierend auf der internen darstellung, also würde es weiter oben schlicht keine sinn manchen
stell dir vor du hast eine implentierung in number manchmal schön
du willst eine andere haben, okay, dann kannst du sie überschreiben
und wenn du keine haben willst? überschreiben und exception?
sehr unschön