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

  • BlackBoxTV

    BlackBoxTV

    7 Mayıs 2007
  • Phymec

    Phymec

    18 Temmuz 2009
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009