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

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009