我有两个ZonedDateTime
实例:
final ZonedDateTime a = ...;
final ZonedDateTime b = ...;
我想获得这两个值中的最大值。我想避免不得不编写自定义的临时代码。
Java 8中执行此操作的最佳方法是什么?我目前正在执行以下操作:
final ZonedDateTime c = Stream.of(a, b).max(ChronoZonedDateTime::compareTo).get();
还有更好的方法吗?
您可以简单地调用isAfter
ZonedDateTime max = a.isAfter(b)) ? a : b;
或者因为该类实现了Comparable
a.compareTo(b);
[ZonedDateTime实现Comparable
接口,因此您可以简单地使用Collections.max
Collections.max(Arrays.asList(a,b));