【发布时间】:2020-09-14 15:43:49
【问题描述】:
如何比较两个 java.time.format.DateTimeFormatters?
由于 DateTimeFormatters 没有重写的 'equals' 方法。
测试:
import java.time.format.DateTimeFormatter;
DateTimeFormatter.ofPattern("M/dd/yyyy").equals(DateTimeFormatter.ofPattern("M/dd/yyyy"))
结果:
false
这是“Object.equals()”方法的行为。 文档:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
从类 java.lang.Object 继承的方法 clone、equals、finalize、getClass、hashCode、notify、notifyAll、等待、等待、等待
需要时用例:
例如,我的方法返回 DateTimeFormatter。我想创建测试来验证返回的 DateFormatter 是否正确。
例如:
DateTimeFormatter expectedFormatter = DateTimeFormatter.ofPattern("my custom format")
DateTimeFormatter actualFormatter = someService.getFormatter()
Assert.assertEquals(actualFormatter, expectedFormatter)
【问题讨论】:
-
"我想创建一个测试来验证返回的 DateFormatter 是否正确" 然后测试它的行为,而不是身份:确保它以你期望的方式格式化日期。
-
我怀疑对 DateTimeFormatter 的代码有影响或有影响的人会出现在这里并回答您的问题。除此之外,这个问题只能作为意见的非法答案,而不是事实。因此,我认为这个问题不适合 Stack Overflow,因为我们尽量避免将意见作为答案的问题。
-
我有固定的标题和问题。@Rono @Steve