On Wed, 3 May 2023 19:37:25 GMT, Justin Lu <j...@openjdk.org> wrote: >> Please review this PR which adds the method `caseFoldLanguageTag(String >> languageTag)` to java.util.Locale. >> >> This method case folds a language tag to adhere to _[section 2.1.1. >> Formatting of Language Tags of >> RFC5646](https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1)_. This >> format is defined as _"All subtags, including extension and private use >> subtags, use lowercase letters with two exceptions: two-letter and >> four-letter subtags that neither appear at the start of the tag nor occur >> after singletons. Such two-letter subtags are all uppercase ... and >> four-letter subtags are titlecase."_. >> >> >> In order to match the behavior of existing language tag related Locale >> methods, this method matches the 2.1.1 RFC5646 specification with the >> following **exceptions**: >> - Will not case fold variant subtags >> - Will not case fold private use subtags prefixed by "lvariant" >> >> As an example, >> `caseFoldLanguageTag("ja-kana-jp-x-lvariant-Oracle-JDK-Standard-Edition")` >> returns _"ja-Kana-JP-x-lvariant-Oracle-JDK-Standard-Edition"_. Further >> examples can be seen in the test file. > > Justin Lu has updated the pull request incrementally with one additional > commit since the last revision: > > Review comment: parseSts should be local
Hi @RogerRiggs, thanks for the review. I have dropped the wildcard import (and disabled it on IntellJ for the future), made subtags[i] a local var, added tests with multiple extension singletons, and pre allocated the string builder. ------------- PR Comment: https://git.openjdk.org/jdk/pull/13679#issuecomment-1533690524