SORU
17 HAZİRAN 2009, ÇARŞAMBA


Bir ArrayList başlatma bir çizgide

Test amaçlı bir Seçenekler listesi oluşturmak istiyorum. İlk başta bunu yaptım:

ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");

Daha sonra aşağıdaki gibi kod refactored

ArrayList<String> places = new ArrayList<String>(
    Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));

Daha iyi bir yolu bunu yapmak için vardır?

CEVAP
17 HAZİRAN 2009, ÇARŞAMBA


Aslında, muhtemelen "" ArrayList başlatmak için herhangi bir şekilde List yeni bir oluşturmak için gerekli değildir gibi yazmışsın, yöntem: . en iyi

ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");

Catch yazarak biraz list Bu örnek için başvurmak zorunluluğu var.

Alternatifleri örneği bir başlatıcı ile anonim iç sınıf yapma gibi (aynı zamanda bir olarak bilinen"") çift ayracı başlatma:

ArrayList<String> list = new ArrayList<String>() {{
    add("A");
    add("B");
    add("C");
}};

Ancak, ben çok düşkün olan bu yöntem, çünkü ne sonunda bir alt sınıf ArrayList olan bir örneği başlatıcı ve bir sınıf oluşturulur sadece oluşturmak için bir nesne -- öyle gibi biraz abartılı.

Ne hoş olurdu olsaydı Collection Literals proposal Project Coin olduğunu kabul (aday olmak tanıtılan Java 7, ama değil büyük olasılıkla bir parçası olarak Java 8 da.):

List<String> list = ["A", "B", "C"];

Ne yazık ki, eğer o hiç durmayacak, ** 15, ve dahası, henüz mevcut değil, yerine 14* *bir değişmez başlatılamıyor olarak size burada yardımcı olmayacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jbignacio

    jbignacio

    13 Mart 2006
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006