gpt4 book ai didi

java - 使用枚举的单例

转载 作者:IT老高 更新时间:2023-10-28 20:31:01 24 4
gpt4 key购买 nike

我在 stackoverflow 上阅读了很多关于使用枚举创建单例类的内容。我一定错过了什么,因为我无法到达任何地方的实例。

这是我的代码:

public class UserActivity {

private DataSource _dataSource;
private JdbcTemplate _jdbcTemplate;

static enum Singleton {
INSTANCE;

private static final UserActivity singleton = new UserActivity();

public UserActivity getSingleton() {
return singleton;
}
}

public UserActivity() {
this._dataSource = MysqlDb.getInstance().getDataSource();
this._jdbcTemplate = new JdbcTemplate(this._dataSource);
}

public void dostuff() {
...
}
}

在外面我正在尝试做

UserActivity.INSTANCE.getSingleton()

UserActivity.Singleton.

但是eclipse的代码补全没有找到任何东西

谢谢!

最佳答案

诀窍是使枚举本身成为单例。试试这个:

public enum UserActivity {
INSTANCE;

private DataSource _dataSource;
private JdbcTemplate _jdbcTemplate;

private UserActivity() {
this._dataSource = MysqlDb.getInstance().getDataSource();
this._jdbcTemplate = new JdbcTemplate(this._dataSource);
}

public void dostuff() {
...
}
}

// use it as ...
UserActivity.INSTANCE.doStuff();

关于java - 使用枚举的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8027701/

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