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

  • infodirt

    infodirt

    11 Mart 2009
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006