Skip to content

Commit 0cf1efb

Browse files
authored
Merge pull request #2300 from harawata/gh/2297-quick-return
Avoid unnecessary `ConcurrentHashMap#put()` calls in `TypeHandlerRegistry`
2 parents ca897f8 + 8690d60 commit 0cf1efb

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/main/java/org/apache/ibatis/type/TypeHandlerRegistry.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
*/
5555
public final class TypeHandlerRegistry {
5656

57-
private final Map<JdbcType, TypeHandler<?>> jdbcTypeHandlerMap = new EnumMap<>(JdbcType.class);
57+
private final Map<JdbcType, TypeHandler<?>> jdbcTypeHandlerMap = new EnumMap<>(JdbcType.class);
5858
private final Map<Type, Map<JdbcType, TypeHandler<?>>> typeHandlerMap = new ConcurrentHashMap<>();
5959
private final TypeHandler<Object> unknownTypeHandler;
6060
private final Map<Class<?>, TypeHandler<?>> allTypeHandlersMap = new HashMap<>();
@@ -252,10 +252,10 @@ private <T> TypeHandler<T> getTypeHandler(Type type, JdbcType jdbcType) {
252252

253253
private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMap(Type type) {
254254
Map<JdbcType, TypeHandler<?>> jdbcHandlerMap = typeHandlerMap.get(type);
255-
if (NULL_TYPE_HANDLER_MAP.equals(jdbcHandlerMap)) {
256-
return null;
255+
if (jdbcHandlerMap != null) {
256+
return NULL_TYPE_HANDLER_MAP.equals(jdbcHandlerMap) ? null : jdbcHandlerMap;
257257
}
258-
if (jdbcHandlerMap == null && type instanceof Class) {
258+
if (type instanceof Class) {
259259
Class<?> clazz = (Class<?>) type;
260260
if (Enum.class.isAssignableFrom(clazz)) {
261261
Class<?> enumClass = clazz.isAnonymousClass() ? clazz.getSuperclass() : clazz;
@@ -292,7 +292,7 @@ private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMapForEnumInterfaces(Class<?
292292
}
293293

294294
private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMapForSuperclass(Class<?> clazz) {
295-
Class<?> superclass = clazz.getSuperclass();
295+
Class<?> superclass = clazz.getSuperclass();
296296
if (superclass == null || Object.class.equals(superclass)) {
297297
return null;
298298
}

0 commit comments

Comments
 (0)