java - 维护一组相似对象的建议
问题描述
我有一门课说大陆。我创建了许多这样的实例。我想将所有此类实例存储在一个集合中。每次创建新对象时,都应将其添加到 Set 中。
public class Continent {
private static HashSet<Continent> globalContinents = new HashSet();
final private String continent_name;
Continent(String continent_name){
this.continent_name = continent_name;
Continent.globalContinents.add(this);
}
}
这给了我泄漏物体的警告。我将使用多线程,所以你有什么建议可以有效地实现这样的事情吗?设计理念?
解决方案
您可以为您的大陆创建一个简单的工厂。
public class ContinentFactory {
private Set<Continent> continents = new HashSet<>();
public Continent create(String name) {
Continent continent = new Continent(name);
continents.add(continent);
return continent;
}
public static class Continent {
private String continentName;
public Continent(String continentName) {
this.continentName = continentName;
}
...
equals and hashcode
....
}
}
您也应该遵循 Java 命名约定: https ://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html
推荐阅读
- django - 如何知道 Python / Django 应用程序占用了多少存储空间?
- javascript - BatchGet - 具有任何排序键的 AWS DynamoDB
- html - 如何在 Ruby on Rails 中仅使用 CSS 放大悬停图像?
- c# - 发布 Oreo 8.0+ Action_User_Present 解决方法?
- php - 如何在php中以某种模式生成参考号
- android - Dagger2 绑定丢失
- python - 使用嵌套列表推导创建随机 0 和 1 的矩阵
- javascript - 为什么要在减速机中使用开关盒?
- python - 在 Tkinter 中使用计时器制作 GUI?
- javascript - 页面中未出现 Javascript 函数结果(本地测试):如何识别问题?