Düzgün bir listeden bir Tamsayı çıkarma<Tamsayı> | Netgez.com
SORU
26 Aralık 2010, Pazar


Düzgün bir listeden bir Tamsayı çıkarma<Tamsayı>

İşte güzel bir hatadır sadece karşılaştı. Tamsayılar: bir liste düşünün

List<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(6);
list.add(7);
list.add(1);

Herhangi bir Eğitim list.remove(1) çalıştırdığınızda ne olur tahmin edin? Ne list.remove(new Integer(1))? Bu bazı kötü hatalar neden olabilir.

Tamsayılar listesi ile ilgili verilen dizinden bir unsuru kaldırır remove(int index) ve başvuru eleman kaldırır remove(Object o), arasında ayırt etmek için doğru yol nedir?


Burada dikkate alınması gereken asıl mesele, bir @Nikita mentioned - tam eşleşen parametre alır otomatik boks önceliklidir.

CEVAP
26 Aralık 2010, Pazar


Java her zaman en iyi savunmanız uygun yöntemi çağırır. Otomatik Boks ve örtülü upcasting eğer denilecek bir yöntemi ise sadece / oto boks döküm olmadan yapılır.

Liste arabirimin iki yöntemi (bağımsız değişken adlandırma not çıkarın belirtir:

  • remove(Object o)
  • remove(int index)

O list.remove(1) 1 konumunda nesneyi kaldırır ve remove(new Integer(1)) bu listeden belirtilen elemanın ilk geçtiği kaldırır anlamına gelir.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • UsherVEVO

    UsherVEVO

    15 EKİM 2009