合肥网络推广公司哪家专业,wordpress seo指南,做网站的成本是什么,手机建网站模板阅读建议
嗨#xff0c;伙计#xff01;刷到这篇文章咱们就是有缘人#xff0c;在阅读这篇文章前我有一些建议#xff1a;
本篇文章大概2000多字#xff0c;预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强#xff0c;是一篇质量分数较高的技术干货文章#x…
阅读建议
嗨伙计刷到这篇文章咱们就是有缘人在阅读这篇文章前我有一些建议
本篇文章大概2000多字预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强是一篇质量分数较高的技术干货文章建议收藏起来方便时常学习与回顾温故而知新。创作不易免费的点赞、关注请走上一走算是对博主一些鼓励让我更有动力输出更多的干货内容。 注意
本文编写的单元测试是基于java11具体的版本号是11.0.19
TemporalQuery
FunctionalInterface
public interface TemporalQueryR {R queryFrom(TemporalAccessor temporal);
}
TemporalQuery是Java 8中用于时间查询的一个函数式接口它允许用户对日期和时间进行查询。TemporalQuery接口中定义了一些方法比如queryFrom(TemporalAccessor temporal)该方法允许用户从给定的时间对象中查询特定的时间信息。
TemporalAccessor
TemporalAccessor是一个时间访问器它提供了一些方法来访问时间信息比如get(ChronoField field)getLong(ChronoField field)query(TemporalQuery query)等。这些方法可以让用户获取到日期和时间的各个部分比如年、月、日、时、分、秒等。LocalDate、LocalTime、LocalDateTime都是TemporalAccessor的实现在类。通过TemporalQuery和TemporalAccessor接口用户可以对日期和时间进行更为精细的控制和操作以满足各种不同的需求。 TemporalQueries
TemporalQueries是Java中用于时间查询的类它提供了TemporalQuery的常见实现。此类允许根据策略设计模式采用不同的方法从临时对象中提取信息的关键工具。
TemporalQueries类中定义了一些方法比如
static TemporalQuery localDate()查询LocalDate如果找不到则返回null。static TemporalQuery localTime()查询LocalTime如果找不到则返回null。static TemporalQuery offset()查询ZoneOffset如果找不到则返回null。
这些方法可以用于查询时间信息比如日期、时间、时区偏移量等。通过TemporalQueries类用户可以更加方便地进行时间查询操作。
TemporalQuery、TemporalQueries使用示例
这里ZonedDateTime为例先获取一下当前的日期时间的ZonedDateTime实例如果我想获取一下这个日期时间对象时区的ZoneId需要怎么办呢可以这样
Test
public void test(){ZonedDateTime zonedDateTimeZonedDateTime.now();TemporalQueryZoneId temporalQuery TemporalQueries.zoneId();ZoneId zoneId zonedDateTime.query(temporalQuery);System.out.println(zoneId);//输出结果Asia/Shanghai
}
如果还想从ZonedDateTime实例中获取一下LocalDate、LocalTime、ZoneOffset对象怎么办呢可以这样
Test
public void test(){ZonedDateTime zonedDateTimeZonedDateTime.now();TemporalQueryZoneOffset temporalQuery1 TemporalQueries.offset();ZoneOffset zoneOffset zonedDateTime.query(temporalQuery1);System.out.println(zoneOffset);//输出结果08:00TemporalQueryLocalDate temporalQuery2 TemporalQueries.localDate();LocalDate localDate zonedDateTime.query(temporalQuery2);System.out.println(localDate);//输出结果2023-11-29TemporalQueryLocalTime temporalQuery3 TemporalQueries.localTime();LocalTime localTime zonedDateTime.query(temporalQuery3);System.out.println(localTime);//输出结果18:10:40.622423500
}
如果还想从ZonedDateTime实例中获取的目标对象不存在会异常吗当然不会而是会返回null
Test
public void test2(){TemporalQueryZoneOffset offset TemporalQueries.offset();LocalDateTime localDateTimeLocalDateTime.now();//本地日期时间是不带时区偏移量的ZoneOffset query localDateTime.query(offset);//肯定查询不到结果System.out.println(query);//输出结果null
}
总结
TemporalQueries和TemporalQuery是Java时间库中的两个相关类它们都用于处理时间查询。
TemporalQueries是一个类它提供了TemporalQuery的常见实现。这些实现是常量因为lambda表达式不能保证这一点。通过在这里分配一次它们变成了“普通的”Java常量。
TemporalQuery是一个接口它定义了从临时对象中提取信息的关键工具。这些工具的存在是为了使查询过程外化允许根据策略设计模式采用不同的方法。例如可以查询日期是否是闰年2月29日前一天的查询或计算下一个生日的天数。
因此TemporalQueries和TemporalQuery之间的关系是它们一起提供了一种机制来执行时间查询。TemporalQueries提供了常见的查询实现而TemporalQuery定义了查询的通用接口。
读到这TemporalQuery、TemporalQueries之间是什么关系怎么使用你明白了吗