Java int'ten String'e - Integer.toString(i) vs new Integer(i).toString()

Bazen java beni şaşırtıyor.
Yapmam gereken çok sayıda int başlatma işlemi var.

Gerçek fark nedir?

  1. Integer.toString(i)
  2. new Integer(i).toString()
Çözüm

Integer.toString, Integer sınıfındaki statik yöntemi çağırır. Bir Integer örneğine ihtiyaç duymaz.

Eğer new Integer(i) çağırırsanız, int değerinizi kapsayan tam bir Java nesnesi olan Integer türünde bir örnek oluşturursunuz. Daha sonra toString yöntemini çağırarak kendisinin bir dize gösterimini döndürmesini istersiniz.

Tek istediğiniz bir int yazdırmaksa, ilkini kullanırsınız çünkü daha hafiftir, daha hızlıdır ve fazladan bellek kullanmaz (döndürülen dize dışında).

Bir tamsayı değerini temsil eden bir nesne istiyorsanız - örneğin bir koleksiyonun içine koymak için - ikincisini kullanırsınız, çünkü size çıplak bir int ile yapamayacağınız her türlü şeyi yapmak için tam teşekküllü bir nesne verir.

Yorumlar (0)

new Integer(i).toString() ilk olarak i etrafında (gereksiz) bir sarmalayıcı nesne oluşturur (bu nesnenin kendisi de bir sarmalayıcı nesne Integer olabilir).

Gereksiz nesne oluşturmadığı için Integer.toString(i) tercih edilir.

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

Bu deyim Integer nesnesini oluşturur ve ardından Integer değerinin String gösterimini döndürmek için toString(i) yöntemlerini çağırır.

  1. Integer.toString(i);

Belirli int (tamsayı)** değerini temsil eden String nesnesini döndürür, ancak burada toString(int) bir statik yöntemdir.

Özet olarak, ilk durumda nesnelerin dize gösterimini döndürür, ikinci durumda ise tamsayının dize gösterimini döndürür.

Yorumlar (1)