Wpis z mikrobloga

#programowanie
# java

Czy ktoś mógłby mi wytłumaczyć, dlaczego output to 10 a nie 30?

BigInteger xd = new BigInteger("10");

BigInteger bla = new BigInteger("" + 20);

xd.add(bla);

System.out.println(xd.toString());
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

BigInteger jest immutable tak samo jak String. Wiec add nie modyfikuje wartosci obiektu, ale zwraca nowy.

BigInteger x = xd.add(bla);
System.out.println(x);
da 30
  • Odpowiedz
Swoja droga immutable tej klasy powinno byc bardzo intuicyjne. Majac zmienna prostego typu jak int by dodac do niej 10 nie piszemy przeciez "x+10", ale "x=x+10."
  • Odpowiedz