HashMap # putAll () se comporte différemment entre Java 7 et Java 8

Il y avait un tel code.

Classe HashMap personnalisée qui hérite de HashMap


@Override
public Object put(Object key, Object value) {
	//Rendre la clé plus basse
	return super.put(key.toString().toLowerCase(), value);
}

Code utilisant un HashMap personnalisé


CustomHashMap map = new CustomHashMap();
map.putAll(valueMap); //Les clés sont toutes inférieures dans Java 7

Lorsque je suis passé de Java7 à Java8, la clé de carte n'est pas devenue inférieure et ne s'est pas comportée comme avant.

Quand je lis le code de HashMap,

--En Java7, put () est appelé depuis putAll () --En Java8, put () n'est pas appelé ** depuis putAll () **

Il s'est avéré que c'était la cause. Autrement dit, la méthode put substituée n'est pas appelée. Dois-je penser que putAll a fonctionné dans Java 7 parce qu'il n'a pas été remplacé? (Peut-être que je lisais l'implémentation de Java 7.)

Recommended Posts

HashMap # putAll () se comporte différemment entre Java 7 et Java 8
[Java] Différence entre Hashmap et HashTable
[Java] Différence entre == et égal
Différences entre Java "débutant" et Kotlin
[Java] Relation entre H2DB et JDBC
[Java] Différence entre array et ArrayList
Différences entre Java et .NET Framework
[Java] Différence entre fermable et fermable automatiquement
[Java] Différence entre StringBuffer et StringBuilder
[Java] Différence entre longueur, longueur () et taille ()
Conversion entre Kotlin nullable et Java facultative
Relation entre les modificateurs d'accès kotlin et java
[Pour les débutants] Différence entre Java et Kotlin
[Java] Différences entre les variables d'instance et les variables de classe
[Note] Coopération entre Java et DB (basique)
[Java] Différence entre la plage Intstream et la plageClosed
Différence entre int et Integer en Java
[Java] Comprendre la différence entre List et Set
Classe Java HashMap
Différence entre next () et nextLine () dans Java Scanner
Résumer les différences entre l'écriture C # et Java
Java et JavaScript
Distinguer les nombres positifs et négatifs en Java
[Java] Différence entre "variable finale" et "objet immuable"
[Java] Différence entre statique final et final dans les variables membres
[JAVA] Quelle est la différence entre interface et abstract? ?? ??
Conversion entre objets Java et JSON à l'aide de Moshi
[Java débutant] Différence entre la longueur et la longueur () ~ Je ne sais pas ~
Getter et Setter (Java)
[Java] Thread et exécutable
Java vrai et faux
[Java] Comparaison des chaînes de caractères et && et ||
Lire la source Java HashMap
Java - Sérialisation et désérialisation
[Java] Arguments et paramètres
Basculer entre JDK 7 et JDK 8
timedatectl et Java TimeZone
[Java] Branchement et répétition
Différence entre vh et%
[Java] Types de variables et types
Différence entre i ++ et ++ i
java (classe et instance)
[Java] Surcharge et remplacement
[Apprentissage Java Bronze] Différence entre l'encapsulation, le masquage des données et le masquage des informations
Différence entre Java et JavaScript (comment trouver la moyenne)
Ce qui a changé entre la 2e édition effective de Java et la 3e édition
[Java] Différence entre l’affectation d’une variable de type de base et l’affectation d’une variable de type de référence
[Java] Vérifiez la différence entre orElse et orElseGet avec IntStream
Pensez aux différences entre les fonctions et les méthodes (en Java)
Différences dans la gestion des chaînes entre Java et Perl