From 0eb20761bdeaeddb0736a9f4ef3916f88a8c7b25 Mon Sep 17 00:00:00 2001 From: SungbinYang Date: Mon, 30 Sep 2024 18:06:24 +0900 Subject: [PATCH] Refactor unwrapOptional method to improve readability and performance - Replaced Optional.isEmpty() and Optional.get() with Optional.orElse(null) - Simplified conditional logic for better code readability - Ensured consistent handling of Optional objects while maintaining current functionality --- .../src/main/java/org/springframework/util/ObjectUtils.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/util/ObjectUtils.java b/spring-core/src/main/java/org/springframework/util/ObjectUtils.java index 06dd448d76c6..eaf97d9a6182 100644 --- a/spring-core/src/main/java/org/springframework/util/ObjectUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ObjectUtils.java @@ -173,10 +173,7 @@ public static boolean isEmpty(@Nullable Object obj) { @Nullable public static Object unwrapOptional(@Nullable Object obj) { if (obj instanceof Optional optional) { - if (optional.isEmpty()) { - return null; - } - Object result = optional.get(); + Object result = optional.orElse(null); Assert.isTrue(!(result instanceof Optional), "Multi-level Optional usage not supported"); return result; }