From 59c65fa9404e53165db35693b9ac834bdaaf4d34 Mon Sep 17 00:00:00 2001 From: SW Date: Wed, 12 Apr 2023 20:07:20 +0900 Subject: [PATCH] Replace `Collections.unmodifiableList(new ArrayList(..))` with `List.copyOf()` (#30166) --- .../annotation/reactive/PayloadMethodArgumentResolver.java | 3 +-- .../messaging/rsocket/DefaultMetadataExtractor.java | 3 +-- .../http/converter/AbstractHttpMessageConverter.java | 3 +-- .../springframework/web/util/HierarchicalUriComponents.java | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/reactive/PayloadMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/reactive/PayloadMethodArgumentResolver.java index 503f5578bd..bbdd0cbb1f 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/reactive/PayloadMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/reactive/PayloadMethodArgumentResolver.java @@ -17,7 +17,6 @@ package org.springframework.messaging.handler.annotation.reactive; import java.lang.annotation.Annotation; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -93,7 +92,7 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol @Nullable ReactiveAdapterRegistry registry, boolean useDefaultResolution) { Assert.isTrue(!CollectionUtils.isEmpty(decoders), "At least one Decoder is required"); - this.decoders = Collections.unmodifiableList(new ArrayList<>(decoders)); + this.decoders = List.copyOf(decoders); this.validator = validator; this.adapterRegistry = registry != null ? registry : ReactiveAdapterRegistry.getSharedInstance(); this.useDefaultResolution = useDefaultResolution; diff --git a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/DefaultMetadataExtractor.java b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/DefaultMetadataExtractor.java index a715277a97..1e1b398c72 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/DefaultMetadataExtractor.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/DefaultMetadataExtractor.java @@ -16,7 +16,6 @@ package org.springframework.messaging.rsocket; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -73,7 +72,7 @@ public class DefaultMetadataExtractor implements MetadataExtractor, MetadataExtr * Constructor with list of decoders for de-serializing metadata entries. */ public DefaultMetadataExtractor(List> decoders) { - this.decoders = Collections.unmodifiableList(new ArrayList<>(decoders)); + this.decoders = List.copyOf(decoders); } diff --git a/spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java index b73d7e910d..dc83919bea 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java @@ -19,7 +19,6 @@ package org.springframework.http.converter; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -100,7 +99,7 @@ public abstract class AbstractHttpMessageConverter implements HttpMessageConv */ public void setSupportedMediaTypes(List supportedMediaTypes) { Assert.notEmpty(supportedMediaTypes, "MediaType List must not be empty"); - this.supportedMediaTypes = Collections.unmodifiableList(new ArrayList<>(supportedMediaTypes)); + this.supportedMediaTypes = List.copyOf(supportedMediaTypes); } @Override diff --git a/spring-web/src/main/java/org/springframework/web/util/HierarchicalUriComponents.java b/spring-web/src/main/java/org/springframework/web/util/HierarchicalUriComponents.java index d4953012df..50ad767e48 100644 --- a/spring-web/src/main/java/org/springframework/web/util/HierarchicalUriComponents.java +++ b/spring-web/src/main/java/org/springframework/web/util/HierarchicalUriComponents.java @@ -949,7 +949,7 @@ final class HierarchicalUriComponents extends UriComponents { public PathSegmentComponent(List pathSegments) { Assert.notNull(pathSegments, "List must not be null"); - this.pathSegments = Collections.unmodifiableList(new ArrayList<>(pathSegments)); + this.pathSegments = List.copyOf(pathSegments); } @Override