Use StringJoiner where possible to simplify String joining
This commit is contained in:
committed by
Juergen Hoeller
parent
07e9f802f2
commit
383f18e214
@@ -22,6 +22,7 @@ import java.util.Collection;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.util.StringUtils;
|
||||
@@ -242,11 +243,10 @@ public class DefaultMessageCodesResolver implements MessageCodesResolver, Serial
|
||||
* null elements altogether.
|
||||
*/
|
||||
public static String toDelimitedString(String... elements) {
|
||||
StringBuilder rtn = new StringBuilder();
|
||||
StringJoiner rtn = new StringJoiner(CODE_SEPARATOR);
|
||||
for (String element : elements) {
|
||||
if (StringUtils.hasLength(element)) {
|
||||
rtn.append(rtn.length() == 0 ? "" : CODE_SEPARATOR);
|
||||
rtn.append(element);
|
||||
rtn.add(element);
|
||||
}
|
||||
}
|
||||
return rtn.toString();
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.springframework.core.convert.support;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.core.convert.TypeDescriptor;
|
||||
@@ -64,18 +65,13 @@ final class CollectionToStringConverter implements ConditionalGenericConverter {
|
||||
if (sourceCollection.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int i = 0;
|
||||
StringJoiner sj = new StringJoiner(DELIMITER);
|
||||
for (Object sourceElement : sourceCollection) {
|
||||
if (i > 0) {
|
||||
sb.append(DELIMITER);
|
||||
}
|
||||
Object targetElement = this.conversionService.convert(
|
||||
sourceElement, sourceType.elementTypeDescriptor(sourceElement), targetType);
|
||||
sb.append(targetElement);
|
||||
i++;
|
||||
sj.add(String.valueOf(targetElement));
|
||||
}
|
||||
return sb.toString();
|
||||
return sj.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package org.springframework.messaging.handler;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
@@ -51,16 +52,11 @@ public abstract class AbstractMessageCondition<T extends AbstractMessageConditio
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder("[");
|
||||
for (Iterator<?> iterator = getContent().iterator(); iterator.hasNext();) {
|
||||
Object expression = iterator.next();
|
||||
builder.append(expression.toString());
|
||||
if (iterator.hasNext()) {
|
||||
builder.append(getToStringInfix());
|
||||
}
|
||||
StringJoiner joiner = new StringJoiner(getToStringInfix(), "[", "]");
|
||||
for (Object expression : getContent()) {
|
||||
joiner.add(expression.toString());
|
||||
}
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
return joiner.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import org.springframework.core.io.InputStreamResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -210,13 +211,9 @@ public abstract class HttpRange {
|
||||
*/
|
||||
public static String toString(Collection<HttpRange> ranges) {
|
||||
Assert.notEmpty(ranges, "Ranges Collection must not be empty");
|
||||
StringBuilder builder = new StringBuilder(BYTE_RANGE_PREFIX);
|
||||
for (Iterator<HttpRange> iterator = ranges.iterator(); iterator.hasNext(); ) {
|
||||
HttpRange range = iterator.next();
|
||||
builder.append(range);
|
||||
if (iterator.hasNext()) {
|
||||
builder.append(", ");
|
||||
}
|
||||
StringJoiner builder = new StringJoiner(", ", BYTE_RANGE_PREFIX, "");
|
||||
for (HttpRange range : ranges) {
|
||||
builder.add(range.toString());
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.StringJoiner;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.UnaryOperator;
|
||||
|
||||
@@ -916,14 +917,10 @@ final class HierarchicalUriComponents extends UriComponents {
|
||||
|
||||
@Override
|
||||
public String getPath() {
|
||||
StringBuilder pathBuilder = new StringBuilder();
|
||||
pathBuilder.append(PATH_DELIMITER);
|
||||
for (Iterator<String> iterator = this.pathSegments.iterator(); iterator.hasNext(); ) {
|
||||
String pathSegment = iterator.next();
|
||||
pathBuilder.append(pathSegment);
|
||||
if (iterator.hasNext()) {
|
||||
pathBuilder.append(PATH_DELIMITER);
|
||||
}
|
||||
String delimiter = String.valueOf(PATH_DELIMITER);
|
||||
StringJoiner pathBuilder = new StringJoiner(delimiter, delimiter, "");
|
||||
for (String pathSegment : this.pathSegments) {
|
||||
pathBuilder.add(pathSegment);
|
||||
}
|
||||
return pathBuilder.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user