From 0ccb64fe10023ffa7079b9eea6156656d7cd7f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ostro=C5=BEl=C3=ADk?= Date: Mon, 26 Sep 2022 14:04:43 +0200 Subject: [PATCH] Replace Collectors.toList with Stream.toList Closes gh-29203 --- .../beans/factory/DefaultListableBeanFactoryTests.java | 2 +- .../AutowiredAnnotationBeanPostProcessorTests.java | 5 ++--- .../beans/factory/support/BeanFactoryGenericsTests.java | 6 +++--- .../springframework/context/index/processor/Metadata.java | 3 +-- .../cache/annotation/AbstractCachingConfiguration.java | 3 +-- .../scheduling/annotation/AbstractAsyncConfiguration.java | 3 +-- .../annotation/ConfigurationClassAndBeanMethodTests.java | 3 +-- .../index/CandidateComponentsTestClassLoader.java | 3 +-- .../org/springframework/aot/agent/RecordedInvocation.java | 5 ++--- .../convert/support/GenericConversionServiceBenchmark.java | 2 +- .../core/KotlinReflectionParameterNameDiscoverer.java | 3 +-- .../main/java/org/springframework/util/MimeTypeUtils.java | 3 +-- .../core/annotation/MergedAnnotationPredicatesTests.java | 5 ++--- .../core/annotation/MergedAnnotationsTests.java | 3 +-- .../testfixture/io/buffer/LeakAwareDataBufferFactory.java | 3 +-- .../test/context/support/TestPropertySourceUtils.java | 3 +-- .../main/java/org/springframework/http/HttpHeaders.java | 6 +++--- .../http/client/reactive/AbstractClientHttpRequest.java | 3 +-- .../http/client/reactive/JettyHeadersAdapter.java | 3 +-- .../http/client/reactive/Netty5HeadersAdapter.java | 3 +-- .../http/client/reactive/NettyHeadersAdapter.java | 3 +-- .../http/codec/protobuf/ProtobufEncoder.java | 3 +-- .../http/server/reactive/JettyHeadersAdapter.java | 3 +-- .../http/server/reactive/Netty5HeadersAdapter.java | 3 +-- .../http/server/reactive/NettyHeadersAdapter.java | 3 +-- .../http/server/reactive/TomcatHeadersAdapter.java | 3 +-- .../web/bind/support/WebExchangeDataBinder.java | 3 +-- .../java/org/springframework/web/client/RestTemplate.java | 3 +-- .../org/springframework/web/cors/CorsConfiguration.java | 7 +++---- .../web/server/adapter/WebHttpHandlerBuilder.java | 7 +++---- .../web/server/session/CookieWebSessionIdResolver.java | 3 +-- .../org/springframework/web/client/RestTemplateTests.java | 3 +-- .../accept/RequestedContentTypeResolverBuilder.java | 3 +-- .../web/reactive/config/WebFluxConfigurerComposite.java | 3 +-- .../web/reactive/function/BodyExtractors.java | 3 +-- .../web/reactive/function/BodyInserters.java | 3 +-- .../web/reactive/function/client/DefaultWebClient.java | 3 +-- .../web/reactive/resource/ResourceWebHandler.java | 3 +-- .../result/method/RequestMappingInfoHandlerMapping.java | 2 +- .../reactive/result/method/SyncInvocableHandlerMethod.java | 3 +-- .../result/method/annotation/ControllerMethodResolver.java | 7 +++---- .../result/method/annotation/ModelInitializer.java | 3 +-- .../reactive/result/view/ViewResolutionResultHandler.java | 3 +-- .../result/condition/PatternsRequestConditionTests.java | 3 +-- .../result/method/annotation/ModelInitializerTests.java | 3 +-- .../web/servlet/config/annotation/InterceptorRegistry.java | 3 +-- .../web/servlet/function/DefaultEntityResponseBuilder.java | 3 +-- .../web/servlet/resource/ResourceHttpRequestHandler.java | 3 +-- .../sockjs/transport/session/AbstractSockJsSession.java | 3 +-- 49 files changed, 62 insertions(+), 106 deletions(-) diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java index e2d98690be0..5f3d00c033e 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java @@ -2020,7 +2020,7 @@ class DefaultListableBeanFactoryTests { lbf.setParentBeanFactory(parentBf); lbf.registerBeanDefinition("low", new RootBeanDefinition(LowPriorityTestBean.class)); List> orderedTypes = lbf.getBeanProvider(TestBean.class).orderedStream() - .map(Object::getClass).collect(Collectors.toList()); + .map(Object::getClass).toList(); assertThat(orderedTypes).containsExactly( HighPriorityTestBean.class, LowPriorityTestBean.class, TestBean.class); } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java index 31e72d51107..e9b72d71a5b 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java @@ -37,7 +37,6 @@ import java.util.Set; import java.util.concurrent.Callable; import java.util.function.Consumer; import java.util.function.Function; -import java.util.stream.Collectors; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -3016,11 +3015,11 @@ public class AutowiredAnnotationBeanPostProcessorTests { } public List streamTestBeans() { - return this.testBeanProvider.stream().collect(Collectors.toList()); + return this.testBeanProvider.stream().toList(); } public List sortedTestBeans() { - return this.testBeanProvider.orderedStream().collect(Collectors.toList()); + return this.testBeanProvider.orderedStream().toList(); } } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java index ef53180c6a6..5c6e0253631 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java @@ -883,12 +883,12 @@ class BeanFactoryGenericsTests { assertThat(resolved.get(0)).isSameAs(bf.getBean("store1")); assertThat(resolved.get(1)).isSameAs(bf.getBean("store2")); - resolved = numberStoreProvider.stream().collect(Collectors.toList()); + resolved = numberStoreProvider.stream().toList(); assertThat(resolved.size()).isEqualTo(2); assertThat(resolved.get(0)).isSameAs(bf.getBean("store1")); assertThat(resolved.get(1)).isSameAs(bf.getBean("store2")); - resolved = numberStoreProvider.orderedStream().collect(Collectors.toList()); + resolved = numberStoreProvider.orderedStream().toList(); assertThat(resolved.size()).isEqualTo(2); assertThat(resolved.get(0)).isSameAs(bf.getBean("store2")); assertThat(resolved.get(1)).isSameAs(bf.getBean("store1")); @@ -938,7 +938,7 @@ class BeanFactoryGenericsTests { bf.registerBeanDefinition("store2", bd2); ObjectProvider> numberStoreProvider = bf.getBeanProvider(ResolvableType.forClass(NumberStore.class)); - List> resolved = numberStoreProvider.orderedStream().collect(Collectors.toList()); + List> resolved = numberStoreProvider.orderedStream().toList(); assertThat(resolved.size()).isEqualTo(2); assertThat(resolved.get(0)).isSameAs(bf.getBean("store2")); assertThat(resolved.get(1)).isSameAs(bf.getBean("store1")); diff --git a/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java b/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java index 30ca2caf1a2..f0464b9333e 100644 --- a/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java +++ b/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java @@ -18,7 +18,6 @@ package org.springframework.context.index.processor; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import org.assertj.core.api.Condition; @@ -30,7 +29,7 @@ import org.assertj.core.api.Condition; class Metadata { public static Condition of(Class type, Class... stereotypes) { - return of(type.getName(), Arrays.stream(stereotypes).map(Class::getName).collect(Collectors.toList())); + return of(type.getName(), Arrays.stream(stereotypes).map(Class::getName).toList()); } public static Condition of(String type, String... stereotypes) { diff --git a/spring-context/src/main/java/org/springframework/cache/annotation/AbstractCachingConfiguration.java b/spring-context/src/main/java/org/springframework/cache/annotation/AbstractCachingConfiguration.java index d6473e28e67..502c64fe2b3 100644 --- a/spring-context/src/main/java/org/springframework/cache/annotation/AbstractCachingConfiguration.java +++ b/spring-context/src/main/java/org/springframework/cache/annotation/AbstractCachingConfiguration.java @@ -19,7 +19,6 @@ package org.springframework.cache.annotation; import java.util.List; import java.util.function.Function; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; @@ -77,7 +76,7 @@ public abstract class AbstractCachingConfiguration implements ImportAware { @Autowired void setConfigurers(ObjectProvider configurers) { Supplier configurer = () -> { - List candidates = configurers.stream().collect(Collectors.toList()); + List candidates = configurers.stream().toList(); if (CollectionUtils.isEmpty(candidates)) { return null; } diff --git a/spring-context/src/main/java/org/springframework/scheduling/annotation/AbstractAsyncConfiguration.java b/spring-context/src/main/java/org/springframework/scheduling/annotation/AbstractAsyncConfiguration.java index 53d7749982c..72687ee2d33 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/annotation/AbstractAsyncConfiguration.java +++ b/spring-context/src/main/java/org/springframework/scheduling/annotation/AbstractAsyncConfiguration.java @@ -20,7 +20,6 @@ import java.util.List; import java.util.concurrent.Executor; import java.util.function.Function; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.beans.factory.ObjectProvider; @@ -72,7 +71,7 @@ public abstract class AbstractAsyncConfiguration implements ImportAware { @Autowired void setConfigurers(ObjectProvider configurers) { Supplier configurer = SingletonSupplier.of(() -> { - List candidates = configurers.stream().collect(Collectors.toList()); + List candidates = configurers.stream().toList(); if (CollectionUtils.isEmpty(candidates)) { return null; } diff --git a/spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassAndBeanMethodTests.java b/spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassAndBeanMethodTests.java index 85fa32dc227..bb370049dbd 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassAndBeanMethodTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassAndBeanMethodTests.java @@ -18,7 +18,6 @@ package org.springframework.context.annotation; import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; import org.junit.jupiter.api.Test; @@ -156,7 +155,7 @@ class ConfigurationClassAndBeanMethodTests { private static List getBeanMethods(ConfigurationClass configurationClass) { List beanMethods = configurationClass.getBeanMethods().stream() .sorted(Comparator.comparing(beanMethod -> beanMethod.getMetadata().getMethodName())) - .collect(Collectors.toList()); + .toList(); assertThat(beanMethods).hasSize(3); return beanMethods; } diff --git a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/index/CandidateComponentsTestClassLoader.java b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/index/CandidateComponentsTestClassLoader.java index 7b6ad75257f..0b6d0bdd022 100644 --- a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/index/CandidateComponentsTestClassLoader.java +++ b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/index/CandidateComponentsTestClassLoader.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.net.URL; import java.util.Collections; import java.util.Enumeration; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.springframework.context.index.CandidateComponentsIndexLoader; @@ -63,7 +62,7 @@ public class CandidateComponentsTestClassLoader extends ClassLoader { catch (Exception ex) { throw new IllegalArgumentException("Invalid resource " + r, ex); } - }).collect(Collectors.toList()))); + }).toList())); } diff --git a/spring-core-test/src/main/java/org/springframework/aot/agent/RecordedInvocation.java b/spring-core-test/src/main/java/org/springframework/aot/agent/RecordedInvocation.java index cfcdc3cfd0c..c5ce25bd2b4 100644 --- a/spring-core-test/src/main/java/org/springframework/aot/agent/RecordedInvocation.java +++ b/spring-core-test/src/main/java/org/springframework/aot/agent/RecordedInvocation.java @@ -18,7 +18,6 @@ package org.springframework.aot.agent; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.springframework.aot.hint.RuntimeHints; @@ -153,7 +152,7 @@ public final class RecordedInvocation { * @return the argument types, starting at the given index */ public List getArgumentTypes(int index) { - return Arrays.stream(this.arguments).skip(index).map(param -> TypeReference.of(param.getClass())).collect(Collectors.toList()); + return Arrays.stream(this.arguments).skip(index).map(param -> TypeReference.of(param.getClass())).toList(); } /** @@ -259,7 +258,7 @@ public final class RecordedInvocation { public RecordedInvocation build() { List stackFrames = StackWalker.getInstance().walk(stream -> stream .dropWhile(stackFrame -> stackFrame.getClassName().startsWith(getClass().getPackageName())) - .collect(Collectors.toList())); + .toList()); return new RecordedInvocation(this.instrumentedMethod, this.instance, this.arguments, this.returnValue, stackFrames); } diff --git a/spring-core/src/jmh/java/org/springframework/core/convert/support/GenericConversionServiceBenchmark.java b/spring-core/src/jmh/java/org/springframework/core/convert/support/GenericConversionServiceBenchmark.java index b31e69d5bef..24c4a80db10 100644 --- a/spring-core/src/jmh/java/org/springframework/core/convert/support/GenericConversionServiceBenchmark.java +++ b/spring-core/src/jmh/java/org/springframework/core/convert/support/GenericConversionServiceBenchmark.java @@ -66,7 +66,7 @@ public class GenericConversionServiceBenchmark { @Setup(Level.Trial) public void setup() throws Exception { - this.source = IntStream.rangeClosed(1, collectionSize).mapToObj(String::valueOf).collect(Collectors.toList()); + this.source = IntStream.rangeClosed(1, collectionSize).mapToObj(String::valueOf).toList(); List target = new ArrayList<>(); this.targetTypeDesc = TypeDescriptor.forObject(target); } diff --git a/spring-core/src/main/java/org/springframework/core/KotlinReflectionParameterNameDiscoverer.java b/spring-core/src/main/java/org/springframework/core/KotlinReflectionParameterNameDiscoverer.java index 01700431612..cab1ec35301 100644 --- a/spring-core/src/main/java/org/springframework/core/KotlinReflectionParameterNameDiscoverer.java +++ b/spring-core/src/main/java/org/springframework/core/KotlinReflectionParameterNameDiscoverer.java @@ -19,7 +19,6 @@ package org.springframework.core; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.List; -import java.util.stream.Collectors; import kotlin.reflect.KFunction; import kotlin.reflect.KParameter; @@ -77,7 +76,7 @@ public class KotlinReflectionParameterNameDiscoverer implements ParameterNameDis .stream() // Extension receivers of extension methods must be included as they appear as normal method parameters in Java .filter(p -> KParameter.Kind.VALUE.equals(p.getKind()) || KParameter.Kind.EXTENSION_RECEIVER.equals(p.getKind())) - .collect(Collectors.toList()); + .toList(); String[] parameterNames = new String[filteredParameters.size()]; for (int i = 0; i < filteredParameters.size(); i++) { KParameter parameter = filteredParameters.get(i); diff --git a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java index 18b76795e93..0c031b3162c 100644 --- a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java +++ b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java @@ -29,7 +29,6 @@ import java.util.List; import java.util.Map; import java.util.Random; import java.util.function.BiPredicate; -import java.util.stream.Collectors; import org.springframework.lang.Nullable; @@ -292,7 +291,7 @@ public abstract class MimeTypeUtils { return tokenize(mimeTypes).stream() .filter(StringUtils::hasText) .map(MimeTypeUtils::parseMimeType) - .collect(Collectors.toList()); + .toList(); } /** diff --git a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationPredicatesTests.java b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationPredicatesTests.java index 96e94cadea8..2d272f27628 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationPredicatesTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationPredicatesTests.java @@ -22,7 +22,6 @@ import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; import org.junit.jupiter.api.Test; @@ -95,7 +94,7 @@ class MergedAnnotationPredicatesTests { List> filtered = MergedAnnotations.from( WithMultipleTestAnnotation.class).stream(TestAnnotation.class).filter( MergedAnnotationPredicates.firstRunOf( - this::firstCharOfValue)).collect(Collectors.toList()); + this::firstCharOfValue)).toList(); assertThat(filtered.stream().map( annotation -> annotation.getString("value"))).containsExactly("a1", "a2", "a3"); } @@ -111,7 +110,7 @@ class MergedAnnotationPredicatesTests { List> filtered = MergedAnnotations.from( WithMultipleTestAnnotation.class).stream(TestAnnotation.class).filter( MergedAnnotationPredicates.unique( - this::firstCharOfValue)).collect(Collectors.toList()); + this::firstCharOfValue)).toList(); assertThat(filtered.stream().map( annotation -> annotation.getString("value"))).containsExactly("a1", "b1", "c1"); } diff --git a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsTests.java b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsTests.java index 086f0369ee4..e366547fb22 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsTests.java @@ -33,7 +33,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; -import java.util.stream.Collectors; import java.util.stream.Stream; import jakarta.annotation.Resource; @@ -1896,7 +1895,7 @@ class MergedAnnotationsTests { Adapt.ANNOTATION_TO_MAP); Map[] filters = (Map[]) map.get("excludeFilters"); List patterns = Arrays.stream(filters).map( - m -> (String) m.get("pattern")).collect(Collectors.toList()); + m -> (String) m.get("pattern")).toList(); assertThat(patterns).containsExactly("*Foo", "*Bar"); filters[0].put("pattern", "newFoo"); filters[0].put("enigma", 42); diff --git a/spring-core/src/testFixtures/java/org/springframework/core/testfixture/io/buffer/LeakAwareDataBufferFactory.java b/spring-core/src/testFixtures/java/org/springframework/core/testfixture/io/buffer/LeakAwareDataBufferFactory.java index 00360760fb7..e038b59f0b7 100644 --- a/spring-core/src/testFixtures/java/org/springframework/core/testfixture/io/buffer/LeakAwareDataBufferFactory.java +++ b/spring-core/src/testFixtures/java/org/springframework/core/testfixture/io/buffer/LeakAwareDataBufferFactory.java @@ -22,7 +22,6 @@ import java.time.Instant; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.stream.Collectors; import io.netty.buffer.PooledByteBufAllocator; import org.apache.commons.logging.Log; @@ -140,7 +139,7 @@ public class LeakAwareDataBufferFactory implements DataBufferFactory { // Remove LeakAwareDataBuffer wrapper so delegate can find native buffers dataBuffers = dataBuffers.stream() .map(o -> o instanceof LeakAwareDataBuffer ? ((LeakAwareDataBuffer) o).dataBuffer() : o) - .collect(Collectors.toList()); + .toList(); return new LeakAwareDataBuffer(this.delegate.join(dataBuffers), this); } diff --git a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceUtils.java b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceUtils.java index fbd1c4c623d..69c3f9a3f6e 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceUtils.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceUtils.java @@ -26,7 +26,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Properties; -import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -88,7 +87,7 @@ public abstract class TestPropertySourceUtils { // Convert all the merged annotations for the current aggregate // level to a list of TestPropertySourceAttributes. List aggregatedAttributesList = - aggregatedAnnotations.stream().map(TestPropertySourceAttributes::new).collect(Collectors.toList()); + aggregatedAnnotations.stream().map(TestPropertySourceAttributes::new).toList(); // Merge all TestPropertySourceAttributes instances for the current // aggregate level into a single TestPropertySourceAttributes instance. TestPropertySourceAttributes mergedAttributes = mergeTestPropertySourceAttributes(aggregatedAttributesList); diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index 92e9cdec4e0..4c05c9e1801 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -486,7 +486,7 @@ public class HttpHeaders implements MultiValueMap, Serializable range.getWeight() == Locale.LanguageRange.MAX_WEIGHT ? range.getRange() : range.getRange() + ";q=" + decimal.format(range.getWeight())) - .collect(Collectors.toList()); + .toList(); set(ACCEPT_LANGUAGE, toCommaDelimitedString(values)); } @@ -511,7 +511,7 @@ public class HttpHeaders implements MultiValueMap, Serializable public void setAcceptLanguageAsLocales(List locales) { setAcceptLanguage(locales.stream() .map(locale -> new Locale.LanguageRange(locale.toLanguageTag())) - .collect(Collectors.toList())); + .toList()); } /** @@ -529,7 +529,7 @@ public class HttpHeaders implements MultiValueMap, Serializable return ranges.stream() .map(range -> Locale.forLanguageTag(range.getRange())) .filter(locale -> StringUtils.hasText(locale.getDisplayName())) - .collect(Collectors.toList()); + .toList(); } /** diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java index 8a9e1a3f90b..14346902f2b 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; @@ -149,7 +148,7 @@ public abstract class AbstractClientHttpRequest implements ClientHttpRequest { } List> actions = this.commitActions.stream() - .map(Supplier::get).collect(Collectors.toList()); + .map(Supplier::get).toList(); return Flux.concat(actions).then(); } diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyHeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyHeadersAdapter.java index b1c01aa8822..b0d2a8424ad 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyHeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyHeadersAdapter.java @@ -23,7 +23,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import org.eclipse.jetty.http.HttpField; import org.eclipse.jetty.http.HttpFields; @@ -177,7 +176,7 @@ class JettyHeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.getFieldNamesCollection().stream() - .map(this.headers::getValuesList).collect(Collectors.toList()); + .map(this.headers::getValuesList).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java index 31a178b64dd..fb1e9a01d89 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java @@ -22,7 +22,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import io.netty5.handler.codec.http.HttpHeaders; @@ -165,7 +164,7 @@ class Netty5HeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.names().stream() - .map(this.headers::getAll).collect(Collectors.toList()); + .map(this.headers::getAll).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/NettyHeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/client/reactive/NettyHeadersAdapter.java index f25973a1e9b..76073dfb0fa 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/NettyHeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/NettyHeadersAdapter.java @@ -22,7 +22,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import io.netty.handler.codec.http.HttpHeaders; @@ -164,7 +163,7 @@ class NettyHeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.names().stream() - .map(this.headers::getAll).collect(Collectors.toList()); + .map(this.headers::getAll).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/codec/protobuf/ProtobufEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/protobuf/ProtobufEncoder.java index f5741b2eda5..43469fb0c86 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/protobuf/ProtobufEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/protobuf/ProtobufEncoder.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import com.google.protobuf.Message; import org.reactivestreams.Publisher; @@ -61,7 +60,7 @@ public class ProtobufEncoder extends ProtobufCodecSupport implements HttpMessage .stream() .map(mimeType -> new MediaType(mimeType.getType(), mimeType.getSubtype(), Collections.singletonMap(DELIMITED_KEY, DELIMITED_VALUE))) - .collect(Collectors.toList()); + .toList(); @Override diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyHeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyHeadersAdapter.java index 3e6700cf4eb..3ddf02b993b 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyHeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyHeadersAdapter.java @@ -23,7 +23,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import org.eclipse.jetty.http.HttpField; import org.eclipse.jetty.http.HttpFields; @@ -161,7 +160,7 @@ class JettyHeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.getFieldNamesCollection().stream() - .map(this.headers::getValuesList).collect(Collectors.toList()); + .map(this.headers::getValuesList).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java index 7e071b94ddf..dfe404f290e 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java @@ -22,7 +22,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import io.netty5.handler.codec.http.HttpHeaders; @@ -163,7 +162,7 @@ final class Netty5HeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.names().stream() - .map(this.headers::getAll).collect(Collectors.toList()); + .map(this.headers::getAll).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/NettyHeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/NettyHeadersAdapter.java index e51b85d947c..86bbd7dae96 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/NettyHeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/NettyHeadersAdapter.java @@ -22,7 +22,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import io.netty.handler.codec.http.HttpHeaders; @@ -163,7 +162,7 @@ final class NettyHeadersAdapter implements MultiValueMap { @Override public Collection> values() { return this.headers.names().stream() - .map(this.headers::getAll).collect(Collectors.toList()); + .map(this.headers::getAll).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHeadersAdapter.java index baaf0788c47..0063239f915 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHeadersAdapter.java @@ -24,7 +24,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import org.apache.tomcat.util.buf.MessageBytes; import org.apache.tomcat.util.http.MimeHeaders; @@ -172,7 +171,7 @@ class TomcatHeadersAdapter implements MultiValueMap { @Override public Collection> values() { - return keySet().stream().map(this::get).collect(Collectors.toList()); + return keySet().stream().map(this::get).toList(); } @Override diff --git a/spring-web/src/main/java/org/springframework/web/bind/support/WebExchangeDataBinder.java b/spring-web/src/main/java/org/springframework/web/bind/support/WebExchangeDataBinder.java index 9ac40eb9e20..fb57980f97c 100644 --- a/spring-web/src/main/java/org/springframework/web/bind/support/WebExchangeDataBinder.java +++ b/spring-web/src/main/java/org/springframework/web/bind/support/WebExchangeDataBinder.java @@ -19,7 +19,6 @@ package org.springframework.web.bind.support; import java.util.List; import java.util.Map; import java.util.TreeMap; -import java.util.stream.Collectors; import reactor.core.publisher.Mono; @@ -124,7 +123,7 @@ public class WebExchangeDataBinder extends WebDataBinder { if (!CollectionUtils.isEmpty(values)) { values = values.stream() .map(value -> value instanceof FormFieldPart ? ((FormFieldPart) value).value() : value) - .collect(Collectors.toList()); + .toList(); params.put(key, values.size() == 1 ? values.get(0) : values); } } diff --git a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java index a5d4e93ac6a..3c6c01287de 100644 --- a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java @@ -25,7 +25,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import java.util.stream.Stream; import io.micrometer.observation.Observation; @@ -971,7 +970,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat .filter(converter -> canReadResponse(this.responseType, converter)) .flatMap((HttpMessageConverter converter) -> getSupportedMediaTypes(this.responseType, converter)) .distinct() - .collect(Collectors.toList()); + .toList(); MimeTypeUtils.sortBySpecificity(allSupportedMediaTypes); if (logger.isDebugEnabled()) { logger.debug("Accept=" + allSupportedMediaTypes); diff --git a/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java b/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java index a7549746aef..66c124d77d3 100644 --- a/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java +++ b/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java @@ -25,7 +25,6 @@ import java.util.Objects; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import org.springframework.http.HttpMethod; import org.springframework.lang.Nullable; @@ -136,7 +135,7 @@ public class CorsConfiguration { */ public void setAllowedOrigins(@Nullable List origins) { this.allowedOrigins = (origins == null ? null : - origins.stream().filter(Objects::nonNull).map(this::trimTrailingSlash).collect(Collectors.toList())); + origins.stream().filter(Objects::nonNull).map(this::trimTrailingSlash).toList()); } private String trimTrailingSlash(String origin) { @@ -212,7 +211,7 @@ public class CorsConfiguration { } return this.allowedOriginPatterns.stream() .map(OriginPattern::getDeclaredPattern) - .collect(Collectors.toList()); + .toList(); } /** @@ -445,7 +444,7 @@ public class CorsConfiguration { if (this.allowedMethods == null) { this.allowedMethods = DEFAULT_PERMIT_METHODS; this.resolvedMethods = DEFAULT_PERMIT_METHODS - .stream().map(HttpMethod::valueOf).collect(Collectors.toList()); + .stream().map(HttpMethod::valueOf).toList(); } if (this.allowedHeaders == null) { this.allowedHeaders = DEFAULT_PERMIT_ALL; diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java index 7222138f44c..ab1b418f677 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java @@ -21,7 +21,6 @@ import java.util.Arrays; import java.util.List; import java.util.function.Consumer; import java.util.function.Function; -import java.util.stream.Collectors; import reactor.blockhound.BlockHound; import reactor.blockhound.integration.BlockHoundIntegration; @@ -170,13 +169,13 @@ public final class WebHttpHandlerBuilder { List webFilters = context .getBeanProvider(WebFilter.class) .orderedStream() - .collect(Collectors.toList()); + .toList(); builder.filters(filters -> filters.addAll(webFilters)); List exceptionHandlers = context .getBeanProvider(WebExceptionHandler.class) .orderedStream() - .collect(Collectors.toList()); + .toList(); builder.exceptionHandlers(handlers -> handlers.addAll(exceptionHandlers)); context.getBeanProvider(HttpHandlerDecoratorFactory.class) @@ -253,7 +252,7 @@ public final class WebHttpHandlerBuilder { } }) .filter(filter -> !(filter instanceof ForwardedHeaderTransformer)) - .collect(Collectors.toList()); + .toList(); this.filters.clear(); this.filters.addAll(filtersToUse); diff --git a/spring-web/src/main/java/org/springframework/web/server/session/CookieWebSessionIdResolver.java b/spring-web/src/main/java/org/springframework/web/server/session/CookieWebSessionIdResolver.java index 655abac4f77..1bb7e4fa6db 100644 --- a/spring-web/src/main/java/org/springframework/web/server/session/CookieWebSessionIdResolver.java +++ b/spring-web/src/main/java/org/springframework/web/server/session/CookieWebSessionIdResolver.java @@ -20,7 +20,6 @@ import java.time.Duration; import java.util.Collections; import java.util.List; import java.util.function.Consumer; -import java.util.stream.Collectors; import org.springframework.http.HttpCookie; import org.springframework.http.ResponseCookie; @@ -100,7 +99,7 @@ public class CookieWebSessionIdResolver implements WebSessionIdResolver { if (cookies == null) { return Collections.emptyList(); } - return cookies.stream().map(HttpCookie::getValue).collect(Collectors.toList()); + return cookies.stream().map(HttpCookie::getValue).toList(); } @Override diff --git a/spring-web/src/test/java/org/springframework/web/client/RestTemplateTests.java b/spring-web/src/test/java/org/springframework/web/client/RestTemplateTests.java index 114970e443a..6aa8d48b966 100644 --- a/spring-web/src/test/java/org/springframework/web/client/RestTemplateTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/RestTemplateTests.java @@ -27,7 +27,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import java.util.stream.Collectors; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; @@ -523,7 +522,7 @@ class RestTemplateTests { final List> accepts = request.getHeaders().toMultimap().entrySet().stream() .filter(entry -> entry.getKey().equalsIgnoreCase("accept")) .map(Entry::getValue) - .collect(Collectors.toList()); + .toList(); assertThat(accepts).hasSize(1); assertThat(accepts.get(0)).hasSize(1); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java index e82ce8a6bcf..7a97cf61b22 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java @@ -23,7 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.springframework.http.MediaType; import org.springframework.lang.Nullable; @@ -88,7 +87,7 @@ public class RequestedContentTypeResolverBuilder { */ public RequestedContentTypeResolver build() { List resolvers = (!this.candidates.isEmpty() ? - this.candidates.stream().map(Supplier::get).collect(Collectors.toList()) : + this.candidates.stream().map(Supplier::get).toList() : Collections.singletonList(new HeaderContentTypeResolver())); return exchange -> { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurerComposite.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurerComposite.java index 18161d497ed..833b64da933 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurerComposite.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurerComposite.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Function; -import java.util.stream.Collectors; import org.springframework.format.FormatterRegistry; import org.springframework.http.codec.ServerCodecConfigurer; @@ -109,7 +108,7 @@ public class WebFluxConfigurerComposite implements WebFluxConfigurer { @Nullable private T createSingleBean(Function factory, Class beanType) { - List result = this.delegates.stream().map(factory).filter(Objects::nonNull).collect(Collectors.toList()); + List result = this.delegates.stream().map(factory).filter(Objects::nonNull).toList(); if (result.isEmpty()) { return null; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java index 9c57b14a80a..8fdf3af8036 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java @@ -20,7 +20,6 @@ import java.util.List; import java.util.Optional; import java.util.function.Function; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; @@ -203,7 +202,7 @@ public abstract class BodyExtractors { .orElseGet(() -> { List mediaTypes = context.messageReaders().stream() .flatMap(reader -> reader.getReadableMediaTypes(elementType).stream()) - .collect(Collectors.toList()); + .toList(); return errorFunction.apply( new UnsupportedMediaTypeException(contentType, mediaTypes, elementType)); }); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java index fe951e0f59b..ff94b50f418 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java @@ -17,7 +17,6 @@ package org.springframework.web.reactive.function; import java.util.List; -import java.util.stream.Collectors; import org.reactivestreams.Publisher; import reactor.core.publisher.Mono; @@ -386,7 +385,7 @@ public abstract class BodyInserters { List supportedMediaTypes = context.messageWriters().stream() .flatMap(reader -> reader.getWritableMediaTypes(bodyType).stream()) - .collect(Collectors.toList()); + .toList(); return new UnsupportedMediaTypeException(mediaType, supportedMediaTypes, bodyType); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java index c1c5226f0d0..07797110f75 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java @@ -30,7 +30,6 @@ import java.util.function.Function; import java.util.function.IntPredicate; import java.util.function.Predicate; import java.util.function.Supplier; -import java.util.stream.Collectors; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; @@ -122,7 +121,7 @@ class DefaultWebClient implements WebClient { return (CollectionUtils.isEmpty(handlerMap) ? Collections.emptyList() : handlerMap.entrySet().stream() .map(entry -> new DefaultResponseSpec.StatusHandler(entry.getKey(), entry.getValue())) - .collect(Collectors.toList())); + .toList()); }; diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java index 4e8439cc1a6..c22bb68863e 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java @@ -27,7 +27,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -359,7 +358,7 @@ public class ResourceWebHandler implements WebHandler, InitializingBean { } if (isOptimizeLocations()) { - result = result.stream().filter(Resource::exists).collect(Collectors.toList()); + result = result.stream().filter(Resource::exists).toList(); } this.locationsToUse.clear(); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java index 19e312fc828..60372f716cd 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java @@ -300,7 +300,7 @@ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMe return this.partialMatches.stream() .filter(PartialMatch::hasProducesMatch) .map(match -> match.getInfo().getParamsCondition().getExpressions()) - .collect(Collectors.toList()); + .toList(); } /** diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java index f11d072b6bb..51d83a65478 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java @@ -20,7 +20,6 @@ import java.lang.reflect.Method; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import java.util.stream.Collectors; import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; @@ -69,7 +68,7 @@ public class SyncInvocableHandlerMethod extends HandlerMethod { public List getResolvers() { return this.delegate.getResolvers().stream() .map(resolver -> (SyncHandlerMethodArgumentResolver) resolver) - .collect(Collectors.toList()); + .toList(); } /** diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java index b4da595d4f7..70e6aa85492 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -133,9 +132,9 @@ class ControllerMethodResolver { ConfigurableApplicationContext context) { return initResolvers(customResolvers, adapterRegistry, context, false, Collections.emptyList()).stream() - .filter(resolver -> resolver instanceof SyncHandlerMethodArgumentResolver) - .map(resolver -> (SyncHandlerMethodArgumentResolver) resolver) - .collect(Collectors.toList()); + .filter(SyncHandlerMethodArgumentResolver.class::isInstance) + .map(SyncHandlerMethodArgumentResolver.class::cast) + .toList(); } private static List modelMethodResolvers( diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java index 9bfa2fd84dc..7cefca16f68 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java @@ -21,7 +21,6 @@ import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.stream.Collectors; import reactor.core.publisher.Mono; @@ -112,7 +111,7 @@ class ModelInitializer { .zip(resultList, objectArray -> Arrays.stream(objectArray) .map(object -> handleResult(((HandlerResult) object), bindingContext)) - .collect(Collectors.toList())) + .toList()) .flatMap(Mono::when); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java index 1aa890fec25..480fd0775d0 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Optional; -import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -357,7 +356,7 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport imp private List getMediaTypes(List views) { return views.stream() .flatMap(view -> view.getSupportedMediaTypes().stream()) - .collect(Collectors.toList()); + .toList(); } } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java index aa2fbf1237a..05c7ca81907 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java @@ -18,7 +18,6 @@ package org.springframework.web.reactive.result.condition; import java.util.Arrays; import java.util.Iterator; -import java.util.stream.Collectors; import org.junit.jupiter.api.Test; @@ -210,7 +209,7 @@ public class PatternsRequestConditionTests { return new PatternsRequestCondition(Arrays .stream(patterns) .map(this.parser::parse) - .collect(Collectors.toList())); + .toList()); } } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelInitializerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelInitializerTests.java index da47913c173..ecae3618254 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelInitializerTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelInitializerTests.java @@ -21,7 +21,6 @@ import java.time.Duration; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import io.reactivex.rxjava3.core.Single; import org.junit.jupiter.api.BeforeEach; @@ -208,7 +207,7 @@ public class ModelInitializerTests { MethodIntrospector.selectMethods(controller.getClass(), BINDER_METHODS) .stream() .map(method -> new SyncInvocableHandlerMethod(controller, method)) - .collect(Collectors.toList()); + .toList(); WebBindingInitializer bindingInitializer = new ConfigurableWebBindingInitializer(); return new InitBinderBindingContext(bindingInitializer, binderMethods); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistry.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistry.java index 3d977f6823f..07e43dc244d 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistry.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistry.java @@ -19,7 +19,6 @@ package org.springframework.web.servlet.config.annotation; import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; import org.springframework.core.OrderComparator; import org.springframework.core.Ordered; @@ -71,7 +70,7 @@ public class InterceptorRegistry { return this.registrations.stream() .sorted(INTERCEPTOR_ORDER_COMPARATOR) .map(InterceptorRegistration::getInterceptor) - .collect(Collectors.toList()); + .toList(); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java index 497b09b7b4b..1abf279e5c3 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java @@ -28,7 +28,6 @@ import java.util.Set; import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; import java.util.function.Consumer; -import java.util.stream.Collectors; import jakarta.servlet.ServletException; import jakarta.servlet.http.Cookie; @@ -336,7 +335,7 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder return messageConverters.stream() .filter(messageConverter -> messageConverter.canWrite(entityClass, null)) .flatMap(messageConverter -> messageConverter.getSupportedMediaTypes(entityClass).stream()) - .collect(Collectors.toList()); + .toList(); } } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java index fddf6b920d3..8d94d796f59 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; @@ -490,7 +489,7 @@ public class ResourceHttpRequestHandler extends WebContentGenerator result.addAll(this.locationResources); if (isOptimizeLocations()) { - result = result.stream().filter(Resource::exists).collect(Collectors.toList()); + result = result.stream().filter(Resource::exists).toList(); } this.locationsToUse.clear(); diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java index be3683d396a..cddfe1f41cd 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java @@ -26,7 +26,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; -import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -413,7 +412,7 @@ public abstract class AbstractSockJsSession implements SockJsSession { Collections.emptyList() : Collections.singletonList(messages[i])); default -> Arrays.stream(Arrays.copyOfRange(messages, i, messages.length)) .filter(message -> !message.trim().isEmpty()) - .collect(Collectors.toList()); + .toList(); }; }