From 8e69a821d5949e82176e1b6079ff883722b608b8 Mon Sep 17 00:00:00 2001 From: izeye Date: Sat, 12 Dec 2020 15:18:17 +0900 Subject: [PATCH] Use BindResult.orElseGet() where beneficial See gh-24477 --- .../boot/autoconfigure/session/AbstractSessionCondition.java | 3 ++- .../java/org/springframework/boot/context/config/Profiles.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/AbstractSessionCondition.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/AbstractSessionCondition.java index ac072ced3a13..52cc4945198b 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/AbstractSessionCondition.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/AbstractSessionCondition.java @@ -58,7 +58,8 @@ public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeM return binder.bind("spring.session.store-type", StoreType.class) .map((t) -> new ConditionOutcome(t == required, message.found("spring.session.store-type property").items(t))) - .orElse(ConditionOutcome.noMatch(message.didNotFind("spring.session.store-type property").atAll())); + .orElseGet(() -> ConditionOutcome + .noMatch(message.didNotFind("spring.session.store-type property").atAll())); } catch (BindException ex) { return ConditionOutcome.noMatch(message.found("invalid spring.session.store-type property").atAll()); diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/Profiles.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/Profiles.java index 496d385df5bc..c12088ccd9e7 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/Profiles.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/Profiles.java @@ -97,7 +97,7 @@ private String[] get(Environment environment, Binder binder, Supplier if (hasExplicit(supplier, propertyValue, unset)) { return supplier.get(); } - return binder.bind(propertyName, String[].class).orElse(StringUtils.toStringArray(unset)); + return binder.bind(propertyName, String[].class).orElseGet(() -> StringUtils.toStringArray(unset)); } private boolean hasExplicit(Supplier supplier, String propertyValue, Set unset) {