Kotlinのsingletonを初期化する方法
お世話になっております。
さて、Kotlinを最近始めました。Kotlinではsingletonは言語レベルでサポートされていて、objectを使うとあります。しかし、objectではコンストラクタが使えません。
Javaの場合
class HBaseManager {
private static HBaseManager ourInstance = new HBaseManager();
private Configuration config = HBaseConfiguration.create();
private ArrayList<String> tableList = new ArrayList<>();
static HBaseManager getInstance() {
return ourInstance;
}
private HBaseManager() {
config.set("hbase.zookeeper.quorum","example.com:60000");
listTables();
}
}
のように書くと(この場合はHBaseの)初期化を済ませて、安全にアクセスできます。
あれこれKotlinのガイドを探してみましたが、singletonの初期化に関するものを見つけることができませんでした。
とりあえず、initialize()というメソッドを定義して、singletonを使う前にかならず呼ぶというルールにして当面は乗り切ろうと思いますが、何かしらの仕組みがあるはずだと思い、質問させていただきます。
よろしくお願いします。