<i18n dev> RFR: 8335366: Improve String.format performance with fastpath [v5]

ExE Boss duke at openjdk.org
Mon Jul 1 16:30:24 UTC 2024


On Sat, 29 Jun 2024 19:10:51 GMT, Shaojin Wen <duke at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/StringFormat.java line 48:
>> 
>>> 46:     static String format(String format, Object... args) {
>>> 47:         if (args != null) {
>>> 48:             int off = format.indexOf('%');
>> 
>> nit: instead of not null check, should this short circuit for null/empty args?
>> 
>> Suggestion:
>> 
>>         if (args == null || args.length == 0) {
>>             // no formatting to be done
>>             return format;
>>         }
>> 
>>         int off = format.indexOf('%');
>
> j.u.Formatter supports args == null

When `args == null` or `args.length == 0`, then the format string can still contain `%%` or `%n`, and those will be formatted to `"%"` and [`System​.lineSeparator()`] respectively.

[`System​.lineSeparator()`]: https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/System.html#lineSeparator()

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19956#discussion_r1661292677


More information about the i18n-dev mailing list