3 votes

Java : Modifier la valeur d'un objet Float

J'ai regardé dans la javadoc pour Float, mais il ne semble pas y avoir de moyen de modifier la valeur après la construction ?

Float f = new Float(1.23f);
[...]
f.setValue(3.14f); // Nothing like this seems to exist...
f = 3.14f; // "f" now points to a new object, not what I want...

Existe-t-il un moyen de modifier la valeur de l'objet ? Sinon, existe-t-il une autre classe d'enveloppe qui permettrait de le faire ?

5voto

arshajii Points 65653

Vous ne pouvez pas modifier la valeur d'un Float ; toutes les classes enveloppantes primitives sont immuables. Vous pouvez créer votre propre classe enveloppante (mutable) si vous souhaitez ajouter cette fonctionnalité, ou jeter un coup d'œil à MutableFloat de Apache Commons.

4voto

Mik378 Points 9437

Float est un objet valeur (objet immuable).

Cela n'a aucun sens de modifier directement sa valeur sans en réintégrer une nouvelle avec la nouvelle valeur.

En effet, Float n'a aucune notion de Identity Il s'agit d'un simple VALEUR et n'a donc pas besoin d'un comportement mutable.

Cela peut vous intéresser, pour comprendre le concept :

http://devlicio.us/blogs/casey/archive/2009/02/13/ddd-entities-and-value-objects.aspx

3voto

Juned Ahsan Points 33217

Toutes les classes enveloppantes du paquet java.lang sont immuables : Booléen, octet, caractère, double, flottant, entier, long, court, chaîne.

Il n'y a donc pas de fixateur ni d'autre méthode pour modifier la valeur de l'objet Float.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X