有人可以解释一下Instant.getEpochSecond与Instant.toEpochMilli命名背后的理由吗?我能想到的唯一原因是瞬间的内部表示为相对于纪元的秒数和相对于该秒的纳秒时间,而毫秒数是根据这两个值计算的.
但是为什么要让这样的实现细节泄漏到新的API中呢?
我不得不猜,但我同意你的看法:
getEpochSecond() 表示仅仅是getter,即它只返回存储在该实例中的值toEpochMilli()另一方面会计算它的返回值,就像toString()不会返回存储的字符串一样,但每次调用方法时都会在运行中构建这个惯例实际上记录在这里:http://docs.oracle.com/javase/tutorial/datetime/overview/naming.html
此约定的原因可能与JavaBeans规范有关,epochSecond即将是(只读)属性,Instant而epochMilli不是表示但不是属性.
| 归档时间: |
|
| 查看次数: |
1462 次 |
| 最近记录: |