On Sun, 23 Mar 2025 10:37:47 GMT, Markus KARG <d...@openjdk.org> wrote:
>> This Pull Request proposes an implementation for >> [JDK-8343110](https://bugs.openjdk.org/browse/JDK-8343110): Adding the new >> method `public void getChars(int srcBegin, int srcEnd, char[] dst, int >> dstBegin)` to the `CharSequence` interface, providing a **bulk-read** >> facility including a default implementation iterating over `charAt(int)`. >> >> In addition, this Pull Request proposes to replace the implementation of >> `Reader.of(CharSequence).read(char[] cbuf, int off, int len)` to invoke >> `CharSequence.getChars(next, next + n, cbuf, off)` instead of utilizing >> pattern matching for switch. Also, this PR proposes to implement >> `CharBuffer.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)` as >> an alias for `CharBuffer.get(srcBegin, dst, dstBegin, srcEnd - srcBegin)`. >> >> To ensure quality... >> * ...the method signature and JavaDocs are adapted from >> `AbstractStringBuilder.getChars(...)`. >> * ...this PR relies upon the existing tests for `Reader.of(CharSequence)`, >> as these provide sufficient coverage of all changes introduced by this PR. > > Markus KARG has updated the pull request incrementally with one additional > commit since the last revision: > > Applied changes requested by Chen src/java.base/share/classes/java/nio/X-Buffer.java.template line 1911: > 1909: * @implNote This method allows for superior performance over the > default > 1910: * implementation in {@code CharSequence}. It performs a direct > 1911: * buffer-to-array copy of the complete specified region. I think the API and implementation notes are redundant. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21730#discussion_r2009386531