java - 维护一组相似对象的建议

标签 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

关于java - 维护一组相似对象的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52001822/

相关文章:

java - jpql 中是否有等效的 View ?

java - 我对象的ArrayList,indexOf问题

java - 在多线程环境中使用 select for update nowait 时,只读结果集的操作无效

java - 没有为参数 [io.vertx.ext.unit.TestContext arg0] 注册 ParameterResolver

java - 未正确定义ubuntu java_home上的maven2

java - 小程序查看问题

java - 对于这个用例来说,什么是有效的设计

java - 如何解决Android Studio中的AAPT2错误?

java - 使用扫描仪 Java 在没有固定输入的情况下查找序列中的连续数字

服务页面之前的 Java Servlet 执行方法