Machen Sie Hashtable in Java unveränderlich und schreibgeschützt

Aus Sicherheitsgründen ist es manchmal notwendig, die Zugriffsrechte zu ändern, um eine fehlerhafte Änderung zu vermeiden. Aus diesem Grund hat Java eine Methode eingefügt, die unsere Hashtabelle für das Schreiben unzugänglich macht, oder mit anderen Worten, eine Hashtabelle, die nicht schreibgeschützt geändert werden kann.

Um die Zugriffsrechte zu ändern, müssen Sie nur die Methode der Collections-Klasse java.util.Collections.unmodifiableMap(Map map).

öffentliche statische < K,V> Karte< K,V> unmodifiableMap(Map m): Diese Methode gibt eine unveränderliche Hashtable-Ansicht zurück, die nicht bearbeitet werden kann.

Das folgende Beispiel zeigt die Verwendung der java.util.Collections.unmodifiableMap().

import java.util.Collections; 
import java.util.Hashtabelle;
import java.util.Map;

public class Unmodifiable_Hashtable {
public static void main(String[] s) {
Hashtable hashtable = new Hashtable();
hashtable.put("1", "val1");
hashtable.put("2", "val2");
hashtable.put("3", "val3");

Karte m = Collections.unmodifiableMap(hashtable);

m.put("4", "val4");

System.out.println(m);
}
}
Nach dem Kompilieren und Ausführen des obigen Codes ergibt sich folgendes Ergebnis:

Ausnahme im Thread "main" java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableMap.put(Unknown Source)
at HashTable.Unmodifiable_Hashtable.main(Unmodifiable_Hashtable.java:16)
References:
java.util.Collections.unmodifiableMap() Methode