On Sat, 26 Oct 2024 15:48:11 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.

Indeed, we can go with Alternative A. I wondered if it's fine to leak the 
backing array of a `CharBuffer` to an untrusted `CharSequence` but `Reader` 
already does so, so I think we should be fine there.

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

PR Comment: https://git.openjdk.org/jdk/pull/21730#issuecomment-2746051841

Reply via email to