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

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • wowchick16

    wowchick16

    17 Mart 2007