如何获得两个ZonedDateTime实例的最大值?

问题描述 投票:0回答:2

我有两个ZonedDateTime实例:

final ZonedDateTime a = ...;
final ZonedDateTime b = ...;

我想获得这两个值中的最大值。我想避免不得不编写自定义的临时代码。

Java 8中执行此操作的最佳方法是什么?我目前正在执行以下操作:

final ZonedDateTime c = Stream.of(a, b).max(ChronoZonedDateTime::compareTo).get();

还有更好的方法吗?

java stream comparator date-comparison
2个回答
2
投票

您可以简单地调用isAfter

ZonedDateTime max = a.isAfter(b)) ? a : b;

或者因为该类实现了Comparable

a.compareTo(b);

0
投票

[ZonedDateTime实现Comparable接口,因此您可以简单地使用Collections.max

Collections.max(Arrays.asList(a,b));
© www.soinside.com 2019 - 2024. All rights reserved.