SORU
16 HAZİRAN 2010, ÇARŞAMBA


&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
16 HAZİRAN 2010, ÇARŞAMBA


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


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.

Referanslar

İlgili konular

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • tinycammonitor

    tinycammonit

    14 Aralık 2010