On Tue, 25 May 2021 11:49:18 GMT, Tagir F. Valeev <tval...@openjdk.org> wrote:
>> Inspired by PR#4088. Most of the changes are done automatically using >> IntelliJ IDEA refactoring. Some manual adjustments are also performed, >> including indentations, moving comments, extracting common cast out of >> switch expression branches, etc. >> >> I also noticed that there are some switches having one branch only in >> JapaneseImperialCalendar.java. Probably it would be better to replace them >> with `if` statement? > > Tagir F. Valeev has updated the pull request incrementally with one > additional commit since the last revision: > > More vertical alignment src/java.base/share/classes/java/util/Calendar.java line 1507: > 1505: } > 1506: case "japanese" -> cal = new > JapaneseImperialCalendar(zone, locale, true); > 1507: default -> throw new IllegalArgumentException("unknown > calendar type: " + type); In this case, it would be good to yield the result of the switch expression and assign that to a local, rather than assigning in each of the case arms, e.g: final Calendar cal = switch (type) { case "gregory" -> new GregorianCalendar(zone, locale, true); case "iso8601" -> { GregorianCalendar gcal = new GregorianCalendar(zone, locale, true); // make gcal a proleptic Gregorian gcal.setGregorianChange(new Date(Long.MIN_VALUE)); // and week definition to be compatible with ISO 8601 setWeekDefinition(MONDAY, 4); yield gcal; } case "buddhist" -> { var buddhistCalendar = new BuddhistCalendar(zone, locale); buddhistCalendar.clear(); yield buddhistCalendar; } case "japanese" -> new JapaneseImperialCalendar(zone, locale, true); default -> throw new IllegalArgumentException("unknown calendar type: " + type); }; ------------- PR: https://git.openjdk.java.net/jdk/pull/4161