Java int to String - Integer.toString(i) vs new Integer(i).toString()

Néha a java zavarba hoz.
Rengeteg int inicializálást kell elvégeznem.

Mi a igazi különbség?

  1. Integer.toString(i)
  2. new Integer(i).toString()
Megoldás

Az Integer.toString meghívja az Integer osztály statikus módszerét. Nincs szüksége az Integer példányára.

Ha meghívod a new Integer(i) metódust, akkor létrehozol egy Integer típusú példányt, ami egy teljes Java objektum, amely az int értékét foglalja magába. Ezután meghívjuk rajta a toString metódust, hogy megkérjük, hogy adja vissza önmagának egy string reprezentációját.

Ha csak egy int értéket akarsz kiírni, akkor az elsőt használd, mert ez könnyebb, gyorsabb és nem használ extra memóriát (a visszaadott stringtől eltekintve).

Ha egy egész értéket reprezentáló objektumot akarsz - például egy gyűjteménybe helyezni -, akkor a másodikat használod, mivel ez egy teljes értékű objektumot ad, amellyel mindenféle olyan dolgot megtehetsz, amit a puszta int-vel nem tudsz.

Kommentárok (0)

A new Integer(i).toString() először létrehoz egy (redundáns) burkoló objektumot i körül (amely maga is lehet egy burkoló objektum Integer).

Az Integer.toString(i) azért előnyösebb, mert nem hoz létre felesleges objektumokat.

Kommentárok (0)
  1. new Integer(i).toString();

Ez az utasítás létrehozza az Integer objektumot, majd meghívja annak toString(i) metódusait, hogy visszaadja az Integer'értékének String reprezentációját.

  1. Integer.toString(i);

Ez visszaadja az adott int (egész szám)ot reprezentáló String objektumot, de itt a toString(int) egy statikus metódus.

Összefoglalva, az első esetben az objektum string reprezentációját adja vissza, míg a második esetben az egész szám string reprezentációját.

Kommentárok (1)