Es gab so einen Code.
Benutzerdefinierte HashMap-Klasse, die HashMap erbt
@Override
public Object put(Object key, Object value) {
//Machen Sie den Schlüssel tiefer
return super.put(key.toString().toLowerCase(), value);
}
Code mit einer benutzerdefinierten HashMap
CustomHashMap map = new CustomHashMap();
map.putAll(valueMap); //In Java 7 sind alle Schlüssel niedriger
Beim Upgrade von Java7 auf Java8 wurde der Kartenschlüssel nicht niedriger und verhielt sich nicht wie zuvor.
Wenn ich den Code von HashMap lese,
Es stellte sich heraus, dass dies die Ursache war. Das heißt, die überschriebene Put-Methode wird nicht aufgerufen. Sollte ich denken, dass putAll in Java 7 funktioniert hat, weil es nicht überschrieben wurde? (Vielleicht habe ich die Java 7-Implementierung gelesen.)
Recommended Posts