RFR: 8364007: Add no-argument codePointCount method to CharSequence and String [v3]

Roger Riggs rriggs at openjdk.org
Mon Jan 26 22:53:52 UTC 2026


On Sat, 26 Jul 2025 10:10:40 GMT, Tatsunori Uchino <duke at openjdk.org> wrote:

>> Adds `codePointCount()` overloads to `String`, `Character`, `(Abstract)StringBuilder`, and `StringBuffer` to make it possible to conveniently retrieve the length of a string as code points without extra boundary checks.
>> 
>> 
>> if (superTremendouslyLongExpressionYieldingAString().codePointCount() > limit) {
>>     throw new Exception("exceeding length");
>> }
>> 
>> 
>> Is a CSR required to this change?
>
> Tatsunori Uchino has updated the pull request incrementally with four additional commits since the last revision:
> 
>  - Update `@bug` in correct file
>  - Add default implementation on codePointCount in CharSequence
>  - Update `@bug` entries in test class doc comments
>  - Discard changes on code whose form is not `str.codePointCount(0, str.length())`

src/java.base/share/classes/java/lang/Character.java line 10012:

> 10010:      * @since  26
> 10011:      */
> 10012:     public static int codePointCount(char[] a) {

Regardless of the current usage, the parameter name `a` results in a confusing javadoc line.  "a the".
My preference would be one of `chars`, `seq`, or ....

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26461#discussion_r2729580337


More information about the core-libs-dev mailing list