Conservez la valeur dans Map S'il y a déjà une valeur dans Map, c'est l'histoire quand je l'ai implémentée pour l'utiliser.
ce temps, Map # put () ne renvoie pas la valeur put telle quelle, Je n'ai pas pu l'écrire comme je m'y attendais, c'est-à-dire que c'est une plainte: pleure (Plus précisément, reportez-vous au code source: crayon :)
※ peut-être, Il peut y avoir une solution intelligente et C'est peut-être juste un malentendu: penser:
Main.java
import java.util.*;
public class Main {
    public static void main(String[] args) throws Exception {
        //Idéal (je veux écrire comme ça)
        String idealKey = "idealKey";
        Map<String, String> idealMap = new HashMap<String, String>();
        String idealValue = Optional.ofNullable(
	        idealMap.get(idealKey)
        ).orElseGet(
            //put retourne null ...
            () -> idealMap.put(idealKey, "idealValue")
        );
        System.out.println("get:" + idealValue);
        //Réalité (j'ai fini par écrire ça)
        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