enum型の列挙型のインスタンスが複数ある場合、そのインスタンスに初めてアクセスすると、残りのインスタンスもすべて同時に初期化されます。最初にアクセスしたときにのみ、enumインスタンスを初期化する方法はありますか?enumインスタンスのJava遅延ロード
4
A
答えて
8
基本的にはなしではなく、enum
はもうありません。 Enums are classes。クラスが初めて使用されると、JVMによってロードされ、静的初期化がすべて行われます。 enumメンバの設定は静的な初期化であるため、すべて初期化されます。
4
使用中にインスタンスを遅延読み込みにすることができます。すなわち、コンストラクタは実際に高価な作業を実行しない。これらの列挙型のメソッドでは、これを必要とするメソッドにcheckingLoaded()メソッドを追加します。これは、それが何であるかに応じてあらゆる方法である必要はありません。
+1
興味深い考えですが、開発者はスレッドの安全性を考慮する必要があります。 –
関連する問題
- 1. Accessibility.dllの遅い遅延ロード?
- 2. 遅延ロードjavadript
- 3. 遅延ロード
- 4. nhibernate遅延ロード
- 5. 遅延ロードDLL
- 6. jquery遅延ロード
- 7. 遅延ロードのナビゲーションプロパティ
- 8. uitableViewの遅延ロード?
- 9. Nhinerbate遅延ロードが
- 10. Javaソケット遅延
- 11. 遅延ロードgoogleのフォントタイプ
- 12. QTの遅延DLLロード
- 13. 属性の遅延ロード
- 14. NHibernateでの遅延ロード
- 15. 遅延インスタンス化とは
- 16. 遅延ロードされたICollection上のエンティティフレームワークと遅延実行
- 17. NHibernateはJoinQueryOverと遅延ロード
- 18. wcfシリアライズとnhibernate遅延ロード
- 19. 仮想プロパティと遅延ロード
- 20. Symfony2カスタムリポジトリ、遅延ロードとプロキシオブジェクト
- 21. NSTableViewを遅延ロードする
- 22. エンティティフレームワーク+複数スレッド+遅延ロード
- 23. 動的ページングと遅延ロード
- 24. UITableView遅延ロード最適化
- 25. 遅延ロードasp.net core angular2
- 26. Java遅延/待機
- 27. Primefacesによる遅延問題overlayPanel - 遅延ロード
- 28. jqueryで遅延iframe(遅延src httpコール)をロード
- 29. 最後のフィールドの遅延インスタンス化
- 30. のJava EE 6 + Hibernateは遅延ロード例外
なぜあなたはそれを望みますか? –
具体的な使用例はありませんが、enumインスタンスを作成するのは高価な場合(インスタンス作成時にDBから何かを読み込む場合)、インスタンスが作成されるとインスタンスを作成するほうが意味がありますを求めました。 – shrini1000
私は非常に特殊なケースがあります。コンピュータビジョンプロジェクトで検索される画像オブジェクトの場合は、列挙型を格納する必要があります。それらは複数回検索される可能性がありますが、アプリケーションと一緒にそれらを初期化したくありません。 –