gpt4 book ai didi

java - 如果树集对象更改其值怎么办(树集的最佳实践?)?

转载 作者:行者123 更新时间:2023-12-02 04:18:57 24 4
gpt4 key购买 nike

List list = new ArrayList();
MyObj mine = new MyObj();
list.add(mine);

我喜欢在操作对象之前将对象添加到列表中,这样我就不会忘记稍后添加它,可能是我在疯狂的丰富逻辑中工作,我更喜欢这种方式

mine.setXXX(stuff);

这是我一直用来在列表中添加对象的方式,

刚才我有一个用例,其中 TreeSet 更有意义,所以我自然想做这样的事情:-

Set set = new TreeSet();
MyObj mine = new MyObj();
set.add(mine);
mine.setXXX(stuff); // add setters here

但这里的问题是,Treeset 需要在将对象添加到列表之前初始化 compareTo 方法中使用的变量。

好的,我可以处理。

但我的担忧和问题是:-有没有一种方法可以强制使用我的模型(其中我使用了Treeset)的开发人员不重复我的错误。即强制他们在将对象添加到集合之前启动 myObject 变量。尽管开发人员应该知道这一点并且应该注意它,但仍然有办法强制它或围绕它的一些最佳实践。

最佳答案

不,没有通用的方法来强制执行此操作。最好的方法是仅将不可修改的不可变对象(immutable对象)放入集合中。不要在对象上使用 setXXX 方法,而是通过构造函数使其可配置且不可编辑。

关于java - 如果树集对象更改其值怎么办(树集的最佳实践?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890092/

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