gpt4 book ai didi

java - 如何用Lombok Date And Collections定义不可变?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:08 25 4
gpt4 key购买 nike

我对lombok陷入了困境,了解这个工具的人都知道声明getter和setter非常容易,但是当涉及到日期和集合时,我们如何声明它们不可变?

谢谢并亲切的问候!

最佳答案

Lombok 提供 @Wither这允许以某种方式简化不可变对象(immutable对象)的创建。但是,它不包括您提到的情况。

您必须自己管理对象的不变性,并在所有其他情况下使用 Lombok。

此外,这是一个如何使用 DateCollection 实现 ImmutableObject 的示例:

public final class ImmutableObject {
private final Collection<String> collection;
private final Date date;

public ImmutableObject(final Collection<String> options, final Date createdAt) {
this.collection = ImmutableList.copyOf(options); // guava's immutable list
this.date = new Date(date); // must be copied to prevent caller from modifying it
}

public Date getDate() {
return new Date(date); // Date is mutable
}

public Collection<String> getCollection() {
return collection; // already immutable copy
}
}

关于java - 如何用Lombok Date And Collections定义不可变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54595461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com