mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8265746: Update java.time to use instanceof pattern variable (part II)
Reviewed-by: dfuchs, lancea, rriggs, chegar, naoto
This commit is contained in:
parent
a85f6cbbaa
commit
45c5da0fd3
20 changed files with 104 additions and 152 deletions
|
@ -602,10 +602,9 @@ public final class LocalDate
|
|||
*/
|
||||
@Override
|
||||
public ValueRange range(TemporalField field) {
|
||||
if (field instanceof ChronoField) {
|
||||
ChronoField f = (ChronoField) field;
|
||||
if (f.isDateBased()) {
|
||||
switch (f) {
|
||||
if (field instanceof ChronoField chronoField) {
|
||||
if (chronoField.isDateBased()) {
|
||||
switch (chronoField) {
|
||||
case DAY_OF_MONTH: return ValueRange.of(1, lengthOfMonth());
|
||||
case DAY_OF_YEAR: return ValueRange.of(1, lengthOfYear());
|
||||
case ALIGNED_WEEK_OF_MONTH: return ValueRange.of(1, getMonth() == Month.FEBRUARY && isLeapYear() == false ? 4 : 5);
|
||||
|
@ -1045,10 +1044,9 @@ public final class LocalDate
|
|||
*/
|
||||
@Override
|
||||
public LocalDate with(TemporalField field, long newValue) {
|
||||
if (field instanceof ChronoField) {
|
||||
ChronoField f = (ChronoField) field;
|
||||
f.checkValidValue(newValue);
|
||||
switch (f) {
|
||||
if (field instanceof ChronoField chronoField) {
|
||||
chronoField.checkValidValue(newValue);
|
||||
switch (chronoField) {
|
||||
case DAY_OF_WEEK: return plusDays(newValue - getDayOfWeek().getValue());
|
||||
case ALIGNED_DAY_OF_WEEK_IN_MONTH: return plusDays(newValue - getLong(ALIGNED_DAY_OF_WEEK_IN_MONTH));
|
||||
case ALIGNED_DAY_OF_WEEK_IN_YEAR: return plusDays(newValue - getLong(ALIGNED_DAY_OF_WEEK_IN_YEAR));
|
||||
|
@ -1168,8 +1166,7 @@ public final class LocalDate
|
|||
*/
|
||||
@Override
|
||||
public LocalDate plus(TemporalAmount amountToAdd) {
|
||||
if (amountToAdd instanceof Period) {
|
||||
Period periodToAdd = (Period) amountToAdd;
|
||||
if (amountToAdd instanceof Period periodToAdd) {
|
||||
return plusMonths(periodToAdd.toTotalMonths()).plusDays(periodToAdd.getDays());
|
||||
}
|
||||
Objects.requireNonNull(amountToAdd, "amountToAdd");
|
||||
|
@ -1259,9 +1256,8 @@ public final class LocalDate
|
|||
*/
|
||||
@Override
|
||||
public LocalDate plus(long amountToAdd, TemporalUnit unit) {
|
||||
if (unit instanceof ChronoUnit) {
|
||||
ChronoUnit f = (ChronoUnit) unit;
|
||||
switch (f) {
|
||||
if (unit instanceof ChronoUnit chronoUnit) {
|
||||
switch (chronoUnit) {
|
||||
case DAYS: return plusDays(amountToAdd);
|
||||
case WEEKS: return plusWeeks(amountToAdd);
|
||||
case MONTHS: return plusMonths(amountToAdd);
|
||||
|
@ -1418,8 +1414,7 @@ public final class LocalDate
|
|||
*/
|
||||
@Override
|
||||
public LocalDate minus(TemporalAmount amountToSubtract) {
|
||||
if (amountToSubtract instanceof Period) {
|
||||
Period periodToSubtract = (Period) amountToSubtract;
|
||||
if (amountToSubtract instanceof Period periodToSubtract) {
|
||||
return minusMonths(periodToSubtract.toTotalMonths()).minusDays(periodToSubtract.getDays());
|
||||
}
|
||||
Objects.requireNonNull(amountToSubtract, "amountToSubtract");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue