RFR: 8274879: Replace uses of StringBuffer with StringBuilder within java.base classes
Andrey Turbanov
duke at openjdk.java.net
Mon Oct 11 21:08:49 UTC 2021
On Thu, 7 Oct 2021 16:48:06 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> StringBuffer is a legacy synchronized class. There are more modern alternatives which perform better:
>> 1. Plain String concatenation should be preferred
>> 2. StringBuilder is a direct replacement to StringBuffer which generally have better performance
>>
>> In [JDK-8264029](https://bugs.openjdk.java.net/browse/JDK-8264029) I migrated only usages which were automatically detected by IDEA. It turns out there are more usages which can be migrated.
>
> src/java.base/share/classes/java/lang/Character.java line 123:
>
>> 121: * than U+FFFF are called <em>supplementary character</em>s. The Java
>> 122: * platform uses the UTF-16 representation in {@code char} arrays and
>> 123: * in the {@code String} and {@code StringBuilder} classes. In
>
> Not sure simple replacement applies here, as `StringBuffer` still uses `UTF-16` representation. You may add `StringBuilder` as well here, but I think you might want to file a CSR to clarify.
reverted changes in this spec.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5432
More information about the core-libs-dev
mailing list