Skip to content

Commit a8fb019

Browse files
committed
Review code of TypeDefinitionBuilder
1. use init method to init builds' list
1 parent c84511c commit a8fb019

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

dubbo-metadata-report/dubbo-metadata-definition/src/main/java/org/apache/dubbo/metadata/definition/TypeDefinitionBuilder.java

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,18 @@
3535
*/
3636
public class TypeDefinitionBuilder {
3737

38-
private static final ThreadLocal<ArrayList<TypeBuilder>> builders;
39-
40-
static {
41-
builders = new ThreadLocal<ArrayList<TypeBuilder>>();
42-
builders.set(new ArrayList<TypeBuilder>());
43-
builders.get().add(new ArrayTypeBuilder());
44-
builders.get().add(new CollectionTypeBuilder());
45-
builders.get().add(new MapTypeBuilder());
46-
builders.get().add(new EnumTypeBuilder());
47-
}
38+
private static final ThreadLocal<ArrayList<TypeBuilder>> builders = ThreadLocal.withInitial(() -> {
39+
ArrayList<TypeBuilder> l = new ArrayList<>();
40+
l.add(new ArrayTypeBuilder());
41+
l.add(new CollectionTypeBuilder());
42+
l.add(new MapTypeBuilder());
43+
l.add(new EnumTypeBuilder());
44+
return l;
45+
});
4846

4947
public static TypeDefinition build(Type type, Class<?> clazz, Map<Class<?>, TypeDefinition> typeCache) {
5048
TypeBuilder builder = getGenericTypeBuilder(type, clazz);
51-
TypeDefinition td = null;
49+
TypeDefinition td;
5250
if (builder != null) {
5351
td = builder.build(type, clazz, typeCache);
5452
} else {
@@ -66,14 +64,14 @@ private static TypeBuilder getGenericTypeBuilder(Type type, Class<?> clazz) {
6664
return null;
6765
}
6866

69-
private Map<Class<?>, TypeDefinition> typeCache = new HashMap<Class<?>, TypeDefinition>();
67+
private Map<Class<?>, TypeDefinition> typeCache = new HashMap<>();
7068

7169
public TypeDefinition build(Type type, Class<?> clazz) {
7270
return build(type, clazz, typeCache);
7371
}
7472

7573
public List<TypeDefinition> getTypeDefinitions() {
76-
return new ArrayList<TypeDefinition>(typeCache.values());
74+
return new ArrayList<>(typeCache.values());
7775
}
7876

7977
}

0 commit comments

Comments
 (0)