SORU
29 Aralık 2014, PAZARTESİ


Koleksiyonları. sözdizimi ve açıklar lt;Dize>emptyList()

Ben sadece genel programlama List<E> arabirimi hakkında okudu ve ArrayList, deyimi aşağıda anlayabiliyorum.

ArrayList<String> list = new ArrayList<String>();

Ama Web'de sörf yaparken gördüm bir sonraki deyimi anlamıyorum.

List<String> list2 = Collections.<String>emptyList();
  1. Collections nedir? Neden Collections<E> Collections<String> değil mi?
  2. Neden <String> yöntemi daha önce yerleştirilmiş emptyList ad verilir?

(emptyList<String>() değil Genel için doğru mu?)

3=başlangıç
  • Bu söz ne anlama geliyor?

  • CEVAP
    29 Aralık 2014, PAZARTESİ


    Bu hat genel tür parametresi statik bir yöntem çağırarak dizelerin boş bir liste oluşturur.

    Collections sınıf içinde, emptyList gibi ilan statik bir yöntem var:

    public static final <T> List<T> emptyList() {
        return (List<T>) EMPTY_LIST;
    }
    

    Bu T Parametre Genel Bir tür vardır. Kullanarak bu yöntemi çağırın diyoruz:

    List<String> list = Collections.emptyList();
    

    T list tipi String olmak infered.

    Ayrıca emptyList çağrılırken köşeli parantez koyarak T türünü belirtebilirsiniz. BU OLAYLA daha özel bir türü istiyorsak gerekli olabilir:

    List<? extends Object> list = Collections.<String>emptyList();
    

    emptyList<String>() yerleştirme oluştururken sadece geçerli değil, çünkü doğru değil genel sınıflar, arama yöntemlerinin örneklerini. new kullanırken iki olası vardır tür parametreleri, sınıf adından önce olanları yapıcı için sınıf adından sonra olanlar çok sınıf ile tüm örneğin,:

    class MyClass<A> {
        public <B> MyClass(A a, B b) {
            System.out.println(a   ", "   b);
        }
    }
    

    A String B Integer gibi olduğu, onun kurucu diyebiliriz:

    MyClass<String> a = new <Integer>MyClass<String>("a", 3);
    

    ya da tür kesmesi kullanarak:

    MyClass<String> a = new MyClass<>("a", 3);
    

    Ayrıca Bkz:

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

    YORUMLAR

    SPONSOR VİDEO

    Rastgele Yazarlar

    • efaustus9

      efaustus9

      16 HAZİRAN 2006
    • FamilyFeud

      FamilyFeud

      22 AĞUSTOS 2006
    • Skrillex

      Skrillex

      6 NİSAN 2010