diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java index d18849e..e20785b 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java @@ -25,29 +25,17 @@ public class LogicInfoUtils implements Constants { private static final Map, Map> LOGIC_CACHE_INVERT = new ConcurrentHashMap<>(); public static String getLogicInfo(Integer tableIndex, Class clazz, boolean hasAlias, String alias) { - Map absent = LOGIC_CACHE.get(clazz); - if (absent == null) { - absent = new ConcurrentHashMap<>(); - LOGIC_CACHE.put(clazz, absent); - } + Map absent = LOGIC_CACHE.computeIfAbsent(clazz, k -> new ConcurrentHashMap<>()); return absent.computeIfAbsent(hasAlias ? alias : (alias + tableIndex), key -> getLogicStr(key, clazz, true, false)); } public static String getLogicInfoNoAnd(Integer tableIndex, Class clazz, boolean hasAlias, String alias) { - Map absent = LOGIC_CACHE_NO_AND.get(clazz); - if (absent == null) { - absent = new ConcurrentHashMap<>(); - LOGIC_CACHE_NO_AND.put(clazz, absent); - } + Map absent = LOGIC_CACHE_NO_AND.computeIfAbsent(clazz, k -> new ConcurrentHashMap<>()); return absent.computeIfAbsent(hasAlias ? alias : (alias + tableIndex), key -> getLogicStr(key, clazz, false, false)); } public static String getLogicInfoInvert(Integer tableIndex, Class clazz, boolean hasAlias, String alias) { - Map absent = LOGIC_CACHE_INVERT.get(clazz); - if (absent == null) { - absent = new ConcurrentHashMap<>(); - LOGIC_CACHE_INVERT.put(clazz, absent); - } + Map absent = LOGIC_CACHE_INVERT.computeIfAbsent(clazz, k -> new ConcurrentHashMap<>()); return absent.computeIfAbsent(hasAlias ? alias : (alias + tableIndex), key -> getLogicStr(key, clazz, false, true)); }