From 9501bff1f0df5f0817e109113e32f143647ec50e Mon Sep 17 00:00:00 2001 From: Patrick Strawderman Date: Mon, 21 Apr 2025 14:48:54 -0500 Subject: [PATCH] Use HexFormat in CharacterEditor Use HexFormat to perform conversion for unicode-prefixed Strings in CharacterEditor. Closes gh-34798 Signed-off-by: Patrick Strawderman --- .../beans/propertyeditors/CharacterEditor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/CharacterEditor.java b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/CharacterEditor.java index 1458345191..dd5bc7ba35 100644 --- a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/CharacterEditor.java +++ b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/CharacterEditor.java @@ -17,6 +17,7 @@ package org.springframework.beans.propertyeditors; import java.beans.PropertyEditorSupport; +import java.util.HexFormat; import org.jspecify.annotations.Nullable; @@ -97,13 +98,12 @@ public class CharacterEditor extends PropertyEditorSupport { return (value != null ? value.toString() : ""); } - - private boolean isUnicodeCharacterSequence(String sequence) { + private static boolean isUnicodeCharacterSequence(String sequence) { return (sequence.startsWith(UNICODE_PREFIX) && sequence.length() == UNICODE_LENGTH); } private void setAsUnicode(String text) { - int code = Integer.parseInt(text.substring(UNICODE_PREFIX.length()), 16); + int code = HexFormat.fromHexDigits(text, UNICODE_PREFIX.length(), text.length()); setValue((char) code); }