RFR: JDK-8302323 Add repeat methods to StringBuilder/StringBuffer [v8]
Claes Redestad
redestad at openjdk.org
Tue Mar 14 10:25:19 UTC 2023
On Fri, 3 Mar 2023 19:04:22 GMT, Jim Laskey <jlaskey at openjdk.org> wrote:
>> Add the ability to repeatedly append char and CharSequence data to StringBuilder/StringBuffer.
>
> Jim Laskey has updated the pull request incrementally with one additional commit since the last revision:
>
> Expand test for StringBuffer and illegal code points
It seems reasonable to consider analogous `insert` methods. Perhaps a more consistent naming scheme would be `appendRepeated` and `insertRepeated`? (The precedent for `repeat` in `String::repeat` is there, but is kind of weak since it's clear in that case that we're not mutating internal state)
src/java.base/share/classes/java/lang/AbstractStringBuilder.java line 1832:
> 1830: if (isLatin1 && StringLatin1.canEncode(c)) {
> 1831: byte b = (byte)c;
> 1832: for (int index = this.count; index < limit; index++) {
This loop could even be replaced with `Arrays.fill(value, this.count, limit, b)` - a plausible candidate for intrinsification? There's an added range check in that method, however, but that shouldn't be too hard for the JIT to eliminate.
-------------
PR: https://git.openjdk.org/jdk/pull/12728
More information about the core-libs-dev
mailing list