93 votes

Incrémenter la valeur int d'un nombre entier ?

Comment incrémenter la valeur d'un nombre entier en Java ? Je sais que je peux obtenir la valeur avec intValue, et je peux la définir avec le nouveau nombre entier(int i).

playerID.intValue()++;

ne semble pas fonctionner.

Remarque : PlayerID est un nombre entier qui a été créé avec :

Integer playerID = new Integer(1);

109voto

Grodriguez Points 9945

Les objetsInteger sont immuables, vous ne pouvez donc pas modifier la valeur une fois qu'ils ont été créés. Vous devrez créer un nouveau Integer et remplacer le existant.

playerID = new Integer(playerID.intValue() + 1);

25voto

user1660127 Points 31

Java 7 et 8. Incrément MODIFIE la référence, elle fait donc référence à un autre objet Entier. Look :

@Test
public void incInteger()
{
    Integer i = 5;
    Integer iOrig = i;
    ++i; // Same as i = i + 1;
    Assert.assertEquals(6, i.intValue());
    Assert.assertNotEquals(iOrig, i);
}

En

soi, l'entier est toujours immuable.

8voto

RHSeeger Points 9217

Les objets entiers sont immuables. Vous ne pouvez pas modifier la valeur de l'entier détenu par l'objet lui-même, mais vous pouvez simplement créer un nouvel objet Entier pour contenir le résultat :

Integer start = new Integer(5);
Integer end = start + 5; // end == 10;

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