On Wed, 11 Jun 2025 23:57:48 GMT, Naoto Sato <na...@openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/String.java line 3837: >> >>> 3835: * >>> 3836: * @apiNote >>> 3837: * This method uses a ASCII-based definition of space characters >>> that are to be >> >> "a ASCII" or "an ASCII"? > > In fact, "ASCII-based definition of space characters" is kind of unclear to > me. How about explicitly specify them as C0 controls and the space, or > exactly quote the space definition in the first paragraph? Oh yeah, that should be "an ASCII...." But maybe we should change the wording per @naotoj's comment. I don't want to repeat the specification above, but rather I want to describe it in terms of what the thinking was at the time it was introduced in JDK 1.0. For comparison, in JDK 1.0, the way to create a String from bytes was to fill in the upper 8 bits of a char using a constant "hibyte" parameter of the String(byte[], int) constructor, which is now deprecated. So this was very much an ASCII-centric view of the world. The trim() method first appeared in 1.0 but its original specification mentioned white space without defining it. The 1.1 specification gained some details, saying > Removes white space from both ends of this string. > > All characters that have codes less than or equal to '\u0020' (the space > character) are considered to be white space. >From the 1996 or 1997 view of the world, I'd describe this as "space plus >ASCII control characters." Would something like that make more sense? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25762#discussion_r2141308311