On Fri, 12 Jan 2024 19:07:46 GMT, Justin Lu <j...@openjdk.org> wrote:

>> Please review this PR which implements toString() for the `Format` 
>> subclasses. Corresponding CSR: 
>> [JDK-8323088](https://bugs.openjdk.org/browse/JDK-8323088)
>> 
>> The general specification follows a template that provides the locale (if 
>> the class is localized) and any relevant patterns. The specification was 
>> intentionally kept minimal and deliberately worded as "for debugging".
>> 
>> An example of all the classes has output such as 
>> 
>> 
>> CompactNumberFormat [locale: "English (United States)", decimal pattern: 
>> "foo#0.00#baz", compact patterns: "[, , , {one:0K other:0K}, {one:00K 
>> other:00K}, {one:000K other:000K}, {one:0M other:0M}, {one:00M other:00M}, 
>> {one:000M other:000M}, {one:0B other:0B}, {one:00B other:00B}, {one:000B 
>> other:000B}, {one:0T other:0T}, {one:00T other:00T}, {one:000T other:000T}]"]
>> 
>> DecimalFormat [locale: "English (United States)", pattern: "foo#0.00#baz"]
>> 
>> SimpleDateFormat [locale: "Chinese (China)", pattern: "EEE, MMM d, ''yy"]
>> 
>> ListFormat [locale: "English (United States)", start: "{0}, {1}", middle: 
>> "{0}, {1}", end: "{0}, and {1}", two: "{0} and {1}", three: "{0}, {1}, and 
>> {2}"]
>> 
>> MessageFormat [locale: "Chinese (China)", pattern: "foo {0}"]
>> 
>> ChoiceFormat [pattern: "0#foo"]
>
> Justin Lu has updated the pull request with a new target base due to a merge 
> or a rebase. The incremental webrev excludes the unrelated changes brought in 
> by the merge/rebase. The pull request contains eight additional commits since 
> the last revision:
> 
>  - replace 'None' with 'null' for applicable classes
>  - Merge branch 'master' into JDK-8321545-toString-j.text.Format
>  - swap placement of decimal pattern and compact patterns. Expand on tests
>  - add unit tests
>  - Merge branch 'master' into JDK-8321545-toString-j.text.Format
>  - account for null locale for SDF through deserialization
>  - Merge branch 'master' into JDK-8321545-toString-j.text.Format
>  - init

src/java.base/share/classes/java/text/MessageFormat.java line 1195:

> 1193:             """
> 1194:             MessageFormat [locale: "%s", pattern: "%s"]
> 1195:             """.formatted(locale == null ? "null" : 
> locale.getDisplayName(), toPattern());

It would be more accurate if when locale ==null that null was not quoted in the 
string.
Seeing "null" would imply that the displayName of the locale was "null", when 
it was `null`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17355#discussion_r1450941057

Reply via email to