什么时候应该使用静态地图?

时间:2018-08-03 12:06:01

标签: java performance dictionary object static

我只是对优化有一个小问题。 两者之间最好的是什么?

-在类中使用静态映射并通过静态方法与之交互。

public class Manager {

    public static Map<String, Long> ids = new HashMap<>();

    public static Long getId(String name) {
        return ids.get(name);
    }

}

public class RandomClass {

    public void randomMethod(String name) {
        Manager.getId(name);
    }

}


-仅使用一个保存在MainClass唯一实例中的Manager对象实例,并使用该Manager对象的唯一实例与地图进行交互。

public class Manager {

    public Map<String, Long> ids = new HashMap<>();

    public Manager() {}

    public Long getId(String name) {
        return ids.get(name);
    }

}

public class MainClass {

    private static MainClass instance;
    private Manager manager;

    public void initialize() {
        manager = new Manager();
    }

    public static MainClass getInstance() {
        return instance;
    }

    public Manager getManager() {
        return manager;
    }

}

public class RandomClass {

    public void randomMethod() {
        MainClass.getInstance().getManager().getId(name);
    }

}

预先感谢您的回答。

0 个答案:

没有答案