RFR: 8343110: Add getChars(int, int, char[], int) to CharSequence and CharBuffer [v6]
Markus KARG
duke at openjdk.org
Thu Apr 17 21:29:21 UTC 2025
> 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 and Jaikiran: Unit tests for default implementation of CharSequence.getChars() and for CharBuffer.getChars()
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/21730/files
- new: https://git.openjdk.org/jdk/pull/21730/files/d2ccf42c..884e7dc1
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=21730&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=21730&range=04-05
Stats: 203 lines in 2 files changed: 203 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/21730.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/21730/head:pull/21730
PR: https://git.openjdk.org/jdk/pull/21730
More information about the nio-dev
mailing list