On Thu, 15 Jan 2026 09:04:09 GMT, Liam Miller-Cushon <[email protected]> wrote:

>> src/java.base/share/classes/java/lang/String.java line 1080:
>> 
>>> 1078:             return value.length;
>>> 1079:         }
>>> 1080:         int len = value.length >> 1;
>> 
>> I don't think I understand what's being done and what Charset encoder it is 
>> mimicking.
>> It probably needs to document the assumptions about unmappable characters 
>> and malformed surrogates.
>> (Likely it is correct since the test of US_ASCII passes, but could use an 
>> explanation).
>
> I added some `//` comments documenting which methods the `encodedLength*` 
> methods are mimicking. The logic here should be identical to `encodeASCII` 
> (except that it isn't allocating and writing to a destination array).
> 
> The handling of unmappable characters and malformed surrogates should match 
> `encodeASCII`.

Thanks for the doc update. Duplicating code (almost) is a unfortunate 
side-effect.

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

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

Reply via email to