💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
JDK 27将移除系统属性'java.locale.useOldISOCodes',该属性用于支持旧的ISO语言代码。从JDK 17起,Java默认使用BCP 47标签。开发者需更新代码以适应新标准,避免依赖已弃用的属性。
🎯
关键要点
- JDK 27将移除系统属性'java.locale.useOldISOCodes',该属性用于支持旧的ISO语言代码。
- 从JDK 17起,Java默认使用BCP 47标签,开发者需更新代码以适应新标准。
- 在JDK 17之前,Java将ISO-639标签视为规范,并将BCP 47标签映射到它们。
- JDK 25已弃用'java.locale.useOldISOCodes',JDK 27将完全移除该属性。
- 依赖'java.locale.useOldISOCodes'的代码需要更新,以一致地期望BCP 47标签。
❓
延伸问答
JDK 27移除了哪个系统属性?
JDK 27移除了'java.locale.useOldISOCodes'系统属性。
为什么要移除'java.locale.useOldISOCodes'属性?
'java.locale.useOldISOCodes'属性被移除是因为它已在JDK 25中被弃用,且JDK 27将不再支持。
从JDK 17开始,Java的语言标签使用了什么标准?
从JDK 17开始,Java默认使用BCP 47标签。
开发者如何应对'java.locale.useOldISOCodes'的移除?
开发者需要更新代码,以一致地期望BCP 47标签,避免依赖已弃用的属性。
在JDK 17之前,Java如何处理ISO-639标签?
在JDK 17之前,Java将ISO-639标签视为规范,并将BCP 47标签映射到它们。
如果代码依赖于'java.locale.useOldISOCodes'会发生什么?
如果代码依赖于'java.locale.useOldISOCodes',将会收到警告,并且指定的值将被忽略。
➡️