使用Duration.ofSeconds(2)
,我们将获得一个代表2秒的Duration
对象。
现在,如果我有一个Duration
的实例,并在其上调用方法ofSeconds
,它将返回一个新的Duration
实例,其中包含除纳秒之外的已擦除值,并且我作为方法参数提交的值将在其上设置。
CCD_ 6将产生表示2秒的CCD_ 7对象。
既然类Duration
是不可变的,那么当我可以简单地使用静态ofSeconds
时,使用withSeconds
方法有什么意义?
请参阅文档:
返回指定秒的持续时间,保留该持续时间第二部分的nano。
withSeconds
返回一个新的不可变对象,并覆盖秒。其他一切都保留了下来。
ofSeconds
基于秒数创建一个新的不可变对象。
只有当您想突变秒而不考虑更高的精度时,才使用第一个。