Behalten Sie den Wert in Map Wenn es in Map bereits einen Wert gibt, ist es die Geschichte, als ich ihn implementiert habe, um diesen zu verwenden.
diese Zeit, Map # put () gibt den Put-Wert nicht so zurück, wie er ist. Ich konnte es nicht so schreiben, wie ich es erwartet hatte, das heißt, es ist eine Beschwerde: weinen: (Siehe insbesondere den Quellcode: Bleistift :)
※vielleicht, Es kann eine kluge Lösung geben und Vielleicht ist es nur ein Missverständnis: Denken:
Main.java
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
//Ideal (ich möchte so schreiben)
String idealKey = "idealKey";
Map<String, String> idealMap = new HashMap<String, String>();
String idealValue = Optional.ofNullable(
idealMap.get(idealKey)
).orElseGet(
//put gibt null zurück ...
() -> idealMap.put(idealKey, "idealValue")
);
System.out.println("get:" + idealValue);
//Realität (am Ende habe ich das geschrieben)
String realKey = "realKey";
Map<String, String> realMap = new HashMap<String, String>();
String realStr = Optional.ofNullable(
realMap.get(realKey)
).orElseGet(() -> {
String value = "realValue";
realMap.put(realKey, value);
return value;
});
System.out.println("get:" + realStr);
}
}
get:null
get:realValue
Recommended Posts