SORU
3 ŞUBAT 2009, Salı


Nasıl statik bir Harita Başlatmak miyim?

Nasıl Java statik bir Harita yeniden mısın?

Bir yöntem: Statik başlatıcı
İkinci yöntem: örnek initialiser (anonim alt) ya başka bir yöntem?

Her artıları ve eksileri nelerdir?

Burada iki yöntem gösteren bir örnek

import java.util.HashMap;
import java.util.Map;

public class Test {
    private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
    static {
        myMap.put(1, "one");
        myMap.put(2, "two");
    }

    private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){
        {
            put(1, "one");
            put(2, "two");
        }
    };
}

CEVAP
3 ŞUBAT 2009, Salı


Örnek initialiser bu durumda sözdizimsel şeker, öyle mi? Sadece başlatmak için ekstra isimsiz bir sınıf gerekir neden görmüyorum. Ve eğer sınıf yaratılıyor final ise işe yaramaz.

Değişmez bir harita statik bir initialiser de kullanarak oluşturabilirsiniz:

public class Test {
    private static final Map<Integer, String> myMap;
    static {
        Map<Integer, String> aMap = ....;
        aMap.put(1, "one");
        aMap.put(2, "two");
        myMap = Collections.unmodifiableMap(aMap);
    }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006