Rumah > Java > javaTutorial > Bagaimana untuk Memulakan Peta Statik dalam Java: Pemula Statik vs. Pemula Instance?

Bagaimana untuk Memulakan Peta Statik dalam Java: Pemula Statik vs. Pemula Instance?

DDD
Lepaskan: 2024-12-03 12:08:16
asal
694 orang telah melayarinya

How to Initialize a Static Map in Java: Static Initializers vs. Instance Initializers?

Memulakan Peta Statik dalam Java

Memulakan peta statik dalam Java melibatkan dua pendekatan utama: pemula statik dan pemula contoh.

Statik Pemula:

Pemula statik membolehkan anda memulakan peta terus dalam definisi kelas. Ini dicapai menggunakan blok statik, seperti yang ditunjukkan dalam contoh berikut:

public class Test {
    private static final Map<Integer, String> myMap = new HashMap<>();

    static {
        myMap.put(1, "one");
        myMap.put(2, "two");
    }
}
Salin selepas log masuk

Kebaikan:

  • Sintaks ringkas
  • Inisialisasi berlaku pada masa pemuatan kelas
  • Peta adalah muktamad dan tidak boleh diubah suai sekali set

Keburukan:

  • Tidak sesuai untuk peta tidak berubah
  • Boleh sukar dibaca dan diselenggara

Pemula Instance (Tanpa Nama Subkelas):

Pemula kejadian menyediakan sintaks alternatif untuk memulakan ahli statik. Pendekatan ini menggunakan subkelas tanpa nama yang mengatasi pembina lalai:

public class Test {
    private static final Map<Integer, String> myMap2 = new HashMap<>() {
        {
            put(1, "one");
            put(2, "two");
        }
    };
}
Salin selepas log masuk

Kebaikan:

  • Gula sintaktik untuk pemula statik
  • Boleh digunakan untuk mencipta tidak berubah peta

Keburukan:

  • Memerlukan kelas tanpa nama tambahan
  • Tidak serasi dengan kelas akhir

Tambahan Nota:

  • Pendekatan pemula kejadian dianggap sebagai gula sintaktik untuk pemula statik.
  • Peta tidak berubah boleh dibuat menggunakan pemula statik dengan mula-mula mencipta peta boleh ubah dan kemudian menjadikannya tidak boleh diubah suai menggunakan kaedah Collections.unmodifiableMap().

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Peta Statik dalam Java: Pemula Statik vs. Pemula Instance?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan