Dizeleri Java nesneleri, yani neden'kullandığımız t 'yeni oluşturmaya' don?
Normalde nesneler new
anahtar kullanarak, gibi oluşturun:
Object obj = new Object();
Dizeleri nesneler, henüz new
onları oluşturmak için kullanmayın:
String str = "Hello World";
Neden bu? new
ile bir Dize yapabilir miyim?
CEVAP
Zaten söylenenler, Dize ek olarakhazır[yani, Dizeleri gibi "abcd"
ama değil gibi new String("abcd")
] Java staj - bunun anlamı her seferinde bunu tanımlamak için "a", bir başvuru için bir tek String
örneği, yerine yeni bir tane her zaman. Olacak
String a = "abcd";
String b = "abcd";
a == b; //True
ama eğer olsaydı
String a = new String("abcd")
String b = new String("abcd")
sonra mümkündür
a == b; // False
(ve kimseye hatırlatmaya ihtiyaç olursa, her zaman Dizeleri fiziksel eşitlik için karşılaştırma testleri) .equals()
kullanın
Staj Dize hazır genellikle birden çok kez kullanılabilir, çünkü iyi. Örneğin, (yapmacık) kodu göz önünde bulundurun:
for (int i = 0; i < 10; i ) {
System.out.println("Next iteration");
}
Eğer "yineleme" 10 kat oluşturulmuş olması gerekir, şimdi sadece bir kez örneği olacak oysa. bir Sonraki Dizeleri staj, bizde ise ...
Neden't dizeleri Java ve .değişke...
Neden char[] şifreler için Dize Java t...
Neden bu kod rastgele dizeleri yazdırm...
Neden belirli Unicode karakterler içer...
Neden Java geçici değişkenler var mı?...