diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java index 57e08b095..0dd671af8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java @@ -28,14 +28,14 @@ public final class Lang { return map; } - public static V getOrPut(Map map, K key, Supplier defaultValue) { + public static V computeIfAbsent(Map map, K key, Supplier computingFunction) { V value = map.get(key); if (value == null) { - V answer = defaultValue.get(); - map.put(key, answer); - return answer; - } else - return value; + V newValue = computingFunction.get(); + map.put(key, newValue); + return newValue; + } + return value; } public static void throwable(Throwable exception) throws E { diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.java index 65e3cc6e9..9f83dc2c8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.java @@ -62,7 +62,7 @@ public final class SimpleMultimap { } public Collection get(K key) { - return Lang.getOrPut(map, key, valuer); + return Lang.computeIfAbsent(map, key, valuer); } public void put(K key, V value) {