&Quot;text" ve yeni bir Dize("text" arasındaki fark nedir?
Bu iki aşağıdaki ifadeleri arasındaki fark nedir?
String s = "text";
String s = new String("text");
CEVAP
new String("text");
açıkça oluşturur String
bir nesne örneğinden yeniden yeni ve referentially farklı bir örneğidize sabiti havuzueğer bir tane varsa.
Sanaçok nadirenhiç new String(anotherString)
yapıcı olmak ister. API:
String(String original)
: Başlatıryeni oluşturulanString
argüman olarak karakter dizisini temsil ettiği kadar nesne; başka bir deyişle, yeni oluşturulan string değişkeni string bir kopyasıdır. Orijinal açık bir kopya gerekli olmadığı sürece, bu oluşturucu kullanın dizeleri değişmez olduğundan gereksizdir.
İlgili sorular
- Java Strings: “String s = new String(”silly“);”
- Strings are objects in Java, so why don’t we use ‘new’ to create them?
Ne demek
Şu Pasajı inceleyelim:
String s1 = "foobar";
String s2 = "foobar";
System.out.println(s1 == s2); // true
s2 = new String("foobar");
System.out.println(s1 == s2); // false
System.out.println(s1.equals(s2)); // true
İki referans tipleri ==
referans kimlik karşılaştırması. equals
iki nesne mutlaka ==
değildir. Genellikle yanlış referans tipleri ==
kullanmak; çoğu zaman equals
yerine kullanılır.
Bununla birlikte, 15* *iki oluşturmak için gereken ne varsa için ama ==
dize, sen değilolabilirnew String(anotherString)
oluşturucu kullanın. Bunun tekrar söylenmesi, ancak ihtiyacı vardırçoktuhaf, nadir ve niyettir.
Arasındaki fark "ekran" ve &...
&Quot arasındaki fark nedir;kelime-bre...
&Quot arasındaki fark nedir CSS;."...
Arasındaki fark nedir "Sınıf.() f...
Bir dil yapısı ve bir &; dahili" ...