Java ChronoLocalDate query()方法及示例
ChronoLocalDate 接口的 query() 方法用于使用指定的查询作为参数来查询这个ChronoLocalDate。作为参数传递的TemporalQuery对象定义了用于从该ChronoLocalDate获得结果的逻辑。
语法
public <R> R
query(TemporalQuery<R> query)
参数: 该方法只接受一个参数 query ,它是要调用的查询。
返回值 :该方法返回查询结果,可能返回空值。
异常: 该方法抛出以下异常。
- DateTimeException – 如果无法查询。
- ArithmeticException – 如果发生数字溢出。
下面的程序说明了query()方法。
程序1 :
// Java program to demonstrate
// ChronoLocalDate.query() method
import java.time.*;
import java.time.temporal.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoLocalDate object
ChronoLocalDate ld = LocalDate.parse("2018-12-31");
// apply the query method of ChronoLocalDate class
String value
= ld.query(TemporalQueries.precision())
.toString();
// print the result
System.out.println("Precision value for ChronoLocalDate is "
+ value);
}
}
输出:
Precision value for ChronoLocalDate is Days
程序2: 显示如果查询没有找到所需的对象,则返回null。
// Java program to demonstrate
// ChronoLocalDate.query() method
import java.time.*;
import java.time.temporal.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoLocalDate object
ChronoLocalDate ld = LocalDate.parse("2018-12-31");
// apply query method of ChronoLocalDate class
// print the result
System.out.println("Zone value for ChronoLocalDate is "
+ ld.query(
TemporalQueries.offset()));
}
}
输出:
Zone value for ChronoLocalDate is null
参考文献:
https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoLocalDate.html#query-java.time.temporal.TemporalQuery-