克隆 java.time.LocalDateTime 的最佳方法

我想创建一个副本,java.time.LocalDateTime但它没有clone()方法。


我做的是以下内容:


long epochMilli = Instant.now().toEpochMilli();


LocalDateTime createDate =  LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault());


LocalDateTime modificationDate = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault());

有没有最简单的方法来创建两个具有完全相同日期时间值的 LocalDateTime 对象?


狐的传说
浏览 409回答 3
3回答

杨魅力

由于它是不可变的,你可以这样做:LocalDateTime copy = createDate.plusHours(0);System.out.println(createDate.equals(copy)); // trueplusHours 文档:返回此 LocalDateTime 的副本,并添加指定的小时数。此实例是不可变的,不受此方法调用的影响。

慕哥9229398

LocalDateTime orig = LocalDateTime.now();LocalDateTime copy = LocalDateTime.from( orig );已编辑:此代码将从 LocalDateTime 源返回相同的对象:public static LocalDateTime from(TemporalAccessor temporal) {       if (temporal instanceof LocalDateTime) {          return (LocalDateTime) temporal;       }        ...

暮色呼如

因为LocalDateTime是不可变的,你可以简单地引用同一个对象:LocalDateTime createDate = LocalDateTime.now(); LocalDateTime modificationDate = createDate;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java