RFR: 8372353: API to compute the byte length of a String encoded in a given Charset [v7]

Liam Miller-Cushon cushon at openjdk.org
Thu Jan 15 18:29:38 UTC 2026


On Thu, 15 Jan 2026 17:27:11 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> Liam Miller-Cushon has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Deduplicate with computeSizeUTF8_UTF16
>
> src/java.base/share/classes/java/lang/String.java line 1498:
> 
>> 1496:             if (length > (long)Integer.MAX_VALUE) {
>> 1497:                 throw new IllegalStateException("Required length exceeds implementation limit");
>> 1498:             }
> 
> This is more like a should never reach here; the OOME thrown by encodedLengthUTF8_UTF16 should ocur.
> IllegalStateException usually refers to a programming error.
> The other occurrence like this throws OOME.

Thanks, what do you think about refactoring the OOME into `encodedLengthUTF8_UTF16` and having it return `int`?

> src/java.base/share/classes/java/lang/String.java line 2112:
> 
>> 2110:      *
>> 2111:      * @param cs The {@link Charset} used to the compute the length
>> 2112:      * @throws NullPointerException If {@code cs} is {@code null}
> 
> @throws clauses for NPE are usually omitted, the class javadoc specifies the behavior for the whole class.

Removed, thanks

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28454#discussion_r2695393117
PR Review Comment: https://git.openjdk.org/jdk/pull/28454#discussion_r2695393824


More information about the core-libs-dev mailing list