diff --git a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/LocaleEditor.java b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/LocaleEditor.java index 5a327f710e0c..c2c415deab55 100644 --- a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/LocaleEditor.java +++ b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/LocaleEditor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,13 +30,13 @@ * @author Juergen Hoeller * @since 26.05.2003 * @see java.util.Locale - * @see org.springframework.util.StringUtils#parseLocaleString + * @see org.springframework.util.StringUtils#parseLocale */ public class LocaleEditor extends PropertyEditorSupport { @Override public void setAsText(String text) { - setValue(StringUtils.parseLocaleString(text)); + setValue(StringUtils.parseLocale(text)); } @Override diff --git a/spring-beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java b/spring-beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java index 2e6f0394fd5f..f3dd380be7b1 100644 --- a/spring-beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java @@ -648,6 +648,10 @@ void localeEditor() { assertThat(localeEditor.getValue()).isEqualTo(Locale.CANADA); assertThat(localeEditor.getAsText()).isEqualTo("en_CA"); + localeEditor = new LocaleEditor(); + localeEditor.setAsText("zh-Hans"); + assertThat(localeEditor.getValue()).isEqualTo(Locale.forLanguageTag("zh-Hans")); + localeEditor = new LocaleEditor(); assertThat(localeEditor.getAsText()).isEmpty(); }