您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在3个日期中查找最早的日期

在3个日期中查找最早的日期

无法避免空值检查,但是通过一些重构,您可以使其变得更轻松。

创建一个安全地比较两个日期的方法

/**
 * Safely compare two dates, null being considered "greater" than a Date
 * @return the earliest of the two
 */
public static Date least(Date a, Date b) {
    return a == null ? b : (b == null ? a : (a.before(b) ? a : b));
}

然后结合调用

Date earliest = least(least(a, b), c);

实际上,您可以将此方法用作任何通用方法Comparable

public static <T extends Comparable<T>> T least(T a, T b) {
    return a == null ? b : (b == null ? a : (a.compareTo(b) < 0 ? a : b));
}
其他 2022/1/1 18:25:46 有508人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶