From f86b44f2eccf8892bd0e5d545c6a1d9db1fc0f0b Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 30 Jan 2018 16:40:32 +0100 Subject: [PATCH] Reduce StringBuilder creation in TypeExtractor.visitDeclared() Closes gh-11845 --- .../boot/configurationprocessor/TypeUtils.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeUtils.java b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeUtils.java index d8311844548..68ff2041d39 100644 --- a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeUtils.java +++ b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeUtils.java @@ -187,12 +187,18 @@ class TypeUtils { return getQualifiedName(enclosingElement) + "$" + type.asElement().getSimpleName().toString(); } - StringBuilder name = new StringBuilder(); - name.append(getQualifiedName(type.asElement())); - if (!type.getTypeArguments().isEmpty()) { - appendTypeArguments(type, name); + String qualifiedName = getQualifiedName(type.asElement()); + if (type.getTypeArguments().isEmpty()) { + return qualifiedName; + } + else { + StringBuilder name = new StringBuilder(); + name.append(qualifiedName); + if (!type.getTypeArguments().isEmpty()) { + appendTypeArguments(type, name); + } + return name.toString(); } - return name.toString(); } private void appendTypeArguments(DeclaredType type, StringBuilder name) {