[Java] Eine Geschichte über IntelliJ IDEA, die die putIfAbsent-Methode von Map lehrt

Hintergrund

Bei der Verbesserung des vorhandenen Legacy-Codes habe ich versucht, die Warnungen von IntelliJ zu reduzieren.

Zu dieser Zeit gab es einen Prozess zum "Festlegen des Werts, wenn der Schlüsselwert für Map null ist", aber ich habe aus IntelliJs Punkt darüber gelernt, also habe ich diesen Artikel dieses Mal geschrieben.

Spezifisches Beispiel (vorher)

Angenommen, es gibt eine Karte mit dem folgenden Präfekturnamen und dem Standort des Präfekturbüros.

Map<String, String> prefectures = new HashMap<>();
prefectures.put("Präfektur Ibaraki", "Mito");
prefectures.put("Präfektur Tochigi", "Utsunomiya");
prefectures.put("Präfektur Gunma", null);

Derzeit ist der Wert der Schlüsselpräfektur Gunma null, und wir möchten den Wert hier festlegen. Zu diesem Zeitpunkt wurde in der vorhandenen Implementierung der Wert mit der folgenden Methode festgelegt.


if (prefectures.get("Präfektur Gunma") == null) {
    prefectures.put("Präfektur Gunma", "Maebashi");
}

IntelliJ schlug vor, dass Sie es mit der putIfAbsent-Methode einfacher schreiben könnten.

Spezifisches Beispiel (nach)

Die putIfAbsent-Methode ist eine Methode, die den Wert festlegt, wenn der Schlüssel wie oben beschrieben null ist. Wenn Sie diese Methode verwenden, verschwindet die if-Anweisung wie im vorherigen Beispiel und


prefectures.putIfAbsent("Präfektur Gunma", "Maebashi");

Sie können klar in eine Zeile schreiben.

Ich wusste nicht, dass es diese Methode gibt, also ist es einfach, aber diesmal habe ich diesen Artikel geschrieben.

Zusammenfassung

Wenn Sie den Vorgang "Festlegen des Werts, wenn der Schlüsselwert für Map null ist" ausführen, können Sie ihn mithilfe der putIfAbsent-Methode ohne Verwendung der if-Anweisung klar schreiben.

Ich dachte noch einmal, dass IntelliJ, der diesmal sogar einen solchen Vorschlag machte, erstaunlich war, aber ich fragte mich auch, wie ich eine so bequeme Methode kennen sollte.

Ich würde mich freuen, wenn Sie mir sagen könnten, ob es einen besseren Weg gibt als "Schauen Sie sich JavaDoc an und werfen Sie einen Blick darauf" und "Lesen Sie die JDK-Versionshinweise".

Ich hoffe dieser Artikel hilft jemandem. Bis zum Ende Danke fürs Lesen.

Verweise

JavaDoc für putIfAbsent-Methode

Recommended Posts

[Java] Eine Geschichte über IntelliJ IDEA, die die putIfAbsent-Methode von Map lehrt
Eine Geschichte über die Java 11-Unterstützung für Webdienste
Eine Geschichte über das JDK in der Java 11-Ära
Die Geschichte des Versuchs, JAVA File zu bedienen
Informationen zur Bindung von Java-Methoden
Informationen zu Aufteilungsmethoden (Java)
Eine Geschichte über die Entwicklung von ROS namens Rosjava mit Java
Hinweise zu Java GC
Erstellen Sie eine Java-Methode [Memo] [java11]
Eine Geschichte über Missverständnisse im Umgang mit Java-Scannern (Memo)
[Hinweis] Eine Geschichte über das Ändern von Java-Build-Tools mit VS-Code
Eine Geschichte über das Erreichen der League Of Legends-API mit JAVA
Eine Geschichte über die Schwierigkeit, ein Testframework an Java 6 auszurichten
Wirklich beängstigende (Java Anti-Pattern) Geschichte
Java + OpenCV 3.X mit IntelliJ IDEA
[IntelliJ IDEA] So fügen Sie beim Speichern einer Java-Datei automatisch final hinzu
Erstellen eines Projekts (und eines GitHub-Repositorys) mit Java und Gradle mit IntelliJ IDEA
Eine Geschichte über ein in Java geschriebenes Spring Boot-Projekt, das Kotlin unterstützt
Eine Geschichte über das Schreiben einer Dichotomiemethode in einer internen Lernsitzung
[Anfänger] Geschichte über das Studium von Java für die Jobsuche ~ 2. Monat ~
[Anfänger] Eine Geschichte über das Studium von Java für die Jobsuche ~ 3. Monat ~
[Anfänger] Eine Geschichte über das Studium von Java für die Jobsuche ~ 1. Monat ~
[Anfänger] Eine Geschichte über das Studium von Java für die Jobsuche ~ 5. Monat ~
[Anfänger] Eine Geschichte über das Studium von Java für die Jobsuche ~ 4. Monat ~
Informationen zum Zurückgeben einer Referenz in einem Java Getter
[Erstellen] Ein Memorandum über das Codieren in Java
Optimieren Sie Java-Importdeklarationen in IntelliJ IDEA
Ich habe ein Plug-In für IntelliJ IDEA erstellt
Über den Stream Debugger des IntelliJ IDEA Plugins