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