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

    • Amena

      Amena

      15 Kasım 2006
    • dhcrr's channel

      dhcrr's chan

      2 Ocak 2007
    • Metheud

      Metheud

      9 EYLÜL 2006