8269124: Update java.time to use switch expressions (part II)

Reviewed-by: dfuchs, vtewari, aefimov, iris, lancea, naoto
This commit is contained in:
Patrick Concannon 2021-07-05 09:08:13 +00:00
parent 675a9520b2
commit 8a7b380ebb
16 changed files with 322 additions and 370 deletions

View file

@ -1300,14 +1300,14 @@ public final class ZonedDateTime
@Override
public ZonedDateTime with(TemporalField field, long newValue) {
if (field instanceof ChronoField chronoField) {
switch (chronoField) {
case INSTANT_SECONDS:
return create(newValue, getNano(), zone);
case OFFSET_SECONDS:
return switch (chronoField) {
case INSTANT_SECONDS -> create(newValue, getNano(), zone);
case OFFSET_SECONDS -> {
ZoneOffset offset = ZoneOffset.ofTotalSeconds(chronoField.checkValidIntValue(newValue));
return resolveOffset(offset);
}
return resolveLocal(dateTime.with(field, newValue));
yield resolveOffset(offset);
}
default -> resolveLocal(dateTime.with(field, newValue));
};
}
return field.adjustInto(this, newValue);
}