哪个是检查两个Date()
对象是否相等的最佳方法,具有空安全功能?日期d1日期d2
d1 = null, d2 = new Date() => equal false
d1 = null, d2 = null => equal true
d1 = SAME_INSTANT, d2 = SAME_INSTANT => equal true
d1 = new Date(), d2 = YESTERDAY => equal false
Optional.ofNullable(d1).map(d -> d.equals(d2)).orElseGet(() -> d2 == null);
当其中一个为空时工作
从java-7开始,使用:
Objects::equals
如果可以的话,停止使用java.util.Date
;当你想要Date
时,使用Instant
-更容易操作,更不容易出错。
使用Objects.equals(d1, d2)
:
如果参数彼此相等,则返回true,否则返回false。因此,如果两个参数都为null,则返回true;如果只有一个参数为null,则返回false。否则,等式是通过使用第一个参数的equals方法来确定的。
问题内容: 我正在用它来获取最新的物品。我如何才能做到这一点是null安全的,最后(最旧)的日期排序为null。createDt是一个joda LocalDate对象。 问题答案: 如果可能为,则使用@rgettman的解决方案。 如果可能为null,则使用以下代码: 在任何一种情况下,请注意,由于大多数标准实现会首先对整个流进行排序,因此效率可能很低。您应该改用Stream.min。
问题内容: 我正在尝试运行一个mysql select语句,该语句会查看今天的日期,并且仅返回在当天注册的结果。我目前已经尝试了以下方法,但是它似乎不起作用。 谢谢大家,我已经修改了此声明。 问题答案:
问题内容: 进行以下操作的最佳方法是什么: 注意:创建的是日期时间字段。 问题答案: 但是我想你是说
URL处的指南说我应该“在迁移包之前等待依赖项迁移”,但我现在想使用NNBD。 我怎么能那么做?
问题内容: 我需要能够使用ord()获得与javascript的charCodeAt()函数相同的值。问题是ord()不支持UTF8。 如何在PHP中将Ą转换为260?我已经尝试了一些uniord函数,但是它们都报告了256个而不是260个。 非常感谢您的帮助! 问候 问题答案: 每字节工作一个字节(与大多数PHP标准字符串函数相同-如果不是全部)。您可能需要自己转换,例如借助多字节字符串扩展名:
问题内容: 到目前为止,我还没有找到明确的答案。 我想使用PreparedStatement知道SQL类型DATETIME和Java类型的等效项。 我发现:http : //www.java2s.com/Code/Java/Database-SQL- JDBC/StandardSQLDataTypeswithTheirJavaEquivalents.htm 但是它指出SQL类型“ DATETIME