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

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011
  • thetrollska

    thetrollska

    2 EKİM 2009