Java中的 LocalDate isSupported() 方法及示例
在 LocalDate 类中,根据传递给它的参数,有两种类型的 isSupported() 方法。
isSupported(TemporalField 字段)
LocalDate类的isSupported()方法用于检查指定字段是否被 LocalDate 类支持,这意味着使用该方法我们可以检查是否可以针对指定字段查询此 LocalDate。
ChronoField 支持的字段有:
- DAY_OF_WEEK
- ALIGNED_DAY_OF_WEEK_IN_MONTH
- ALIGNED_DAY_OF_WEEK_IN_YEAR
- DAY_OF_MONTH
- DAY_OF_YEAR
- EPOCH_DAY
- ALIGNED_WEEK_OF_MONTH
- ALIGNED_WEEK_OF_YEAR
- MONTH_OF_YEAR
- PROLEPTIC_MONTH
- YEAR_OF_ERA
- 年
- 时代
所有其他 ChronoField 实例将返回 false。
句法:
public boolean isSupported(TemporalField field)
参数:此方法接受一个参数字段,该字段是要检查的字段。
返回值:如果此 LocalDate 支持该字段,则此方法返回布尔值 true,否则返回 false。
下面的程序说明了 isSupported() 方法:
方案一:
// Java program to demonstrate
// LocalDate.isSupported() method
import java.time.*;
import java.time.temporal.ChronoField;
public class GFG {
public static void main(String[] args)
{
// create a LocalDate object
LocalDate lt
= LocalDate.parse("2018-11-03");
// check YEAR_OF_ERA is supported in LocalDate
boolean value
= lt.isSupported(ChronoField.YEAR_OF_ERA);
// print result
System.out.println("YEAR_OF_ERA Field is supported: "
+ value);
}
}
输出:
YEAR_OF_ERA Field is supported: true
isSupported(时间单位单位)
LocalDate类的isSupported()方法,用于检查指定的单位是否被 LocalDate 类支持,这意味着使用该方法我们可以检查是否可以为指定的单位查询这个 LocalDate。
ChronoUnit 支持的字段有:
- 天
- 周数
- 几个月
- 年
- 几十年
- 世纪
- 千年
- ERAS
所有其他 ChronoUnit 实例将返回 false。
句法:
public boolean isSupported(TemporalUnit unit)
参数:此方法接受一个参数单位,即要检查的单位。
返回值:如果此 LocalDate 支持该字段,则此方法返回布尔值 true,否则返回 false。
下面的程序说明了 isSupported() 方法:
方案一:
// Java program to demonstrate
// LocalDate.isSupported() method
import java.time.*;
import java.time.temporal.ChronoUnit;
public class GFG {
public static void main(String[] args)
{
// create a LocalDate object
LocalDate lt
= LocalDate.parse("2018-12-29");
// check CENTURIES ChronoUnit supported in LocalDate
boolean value
= lt.isSupported(ChronoUnit.CENTURIES);
// print result
System.out.println("ChronoUnit CENTURIES is supported: "
+ value);
}
}
输出:
ChronoUnit CENTURIES is supported: true
参考: https: Java Java/10/docs/api/ Java Java.time.temporal.TemporalUnit)