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

Noen ganger forvirrer java meg.
Jeg har en enorm mengde int initialiseringer å gjøre.

Hva er den virkelige forskjellen?

  1. Heltal.tilStreng(i)
  2. nyt Heltall(i).tilStreng()
Løsning

Integer.toString kaller den statiske metoden i klassen Integer. Den trenger ikke en forekomst av Integer.

Hvis du kaller new Integer(i), oppretter du en instans av typen Integer, som er et fullstendig Java-objekt som innkapsler verdien av din int. Deretter kaller du toString-metoden på den for å be den om å returnere en strengrepresentasjon av seg selv.

Hvis alt du vil er å skrive ut en int, vil du bruke den første fordi den er lettere, raskere og ikke bruker ekstra minne (bortsett fra den returnerte strengen).

Hvis du vil ha et objekt som representerer en heltallsverdi-for å sette det inne i en samling for eksempel-du'd bruke den andre, siden det gir deg et fullverdig objekt for å gjøre alle slags ting som du ikke kan gjøre med en bare int.

Kommentarer (0)

new Integer(i).toString()oppretter først et (redundant) omslagsobjekt rundti(som selv kan være et omslagsobjektInteger`).

Integer.toString(i) er å foretrekke fordi den ikke oppretter noen unødvendige objekter.

Kommentarer (0)
  1. new Integer(i).toString();

Denne setningen oppretter objektet Integer og kaller deretter metodene toString(i) for å returnere String-representasjonen av Integer's verdi.

  1. Integer.toString(i)';

Det returnerer String-objektet som representerer det spesifikke int (heltallet), men her er toString(int) en statisk metode.

Sammendraget er at den i første tilfelle returnerer objektets strengrepresentasjon, mens den i andre tilfelle returnerer strengrepresentasjonen av heltallet.

Kommentarer (1)