如果我在枚举类型中有一堆枚举实例,并且如果我第一次访问它的一个实例,则它的所有其余实例也会同时被初始化。有没有什么办法只有在第一次访问枚举实例时才初始化枚举实例?Java延迟加载枚举实例
4
A
回答
8
不是没有,基本上使它不再是enum
了。 Enums are classes。第一次使用类时,它将被JVM加载并完成其所有静态初始化。设置枚举成员是一个静态初始化,所以它们都将被初始化。
4
您可以使实例延迟加载使用。即构造函数实际上并不执行昂贵的工作。在这些枚举的方法中,您需要为需要此方法的方法添加一个checkedLoaded()方法。这并不是每种方法都取决于它的功能。
+1
有趣的想法,虽然开发人员将不得不考虑线程安全。 – 2013-08-01 19:45:37
相关问题
- 1. EF:延迟加载,渴望装载和“枚举枚举”
- 2. Java枚举类型实例
- 3. 延迟加载示例?
- 4. 对实体延迟加载
- 5. 延迟加载
- 6. 延迟加载
- 7. 延迟加载
- 8. 延迟加载,延期加载和实体加载实体框架
- 9. 动态加载Java枚举类和枚举常量
- 10. 的jquery - 延迟加载 - 设置延迟
- 11. 延迟加载3.2.6
- 12. nhibernate延迟加载
- 13. 延迟加载MirrorType
- 14. RecyclerView延迟加载
- 15. 延迟加载DLL
- 16. Firebase延迟加载
- 17. UIwebview延迟加载
- 18. 延迟加载CollectionViewSource?
- 19. Laravel延迟加载
- 20. Firebase延迟加载
- 21. gwt延迟加载
- 22. 延迟加载XmlDocument
- 23. 延迟加载MEF?
- 24. 枚举实例变量
- 25. 延迟加载实现的问题
- 26. 如何实现延迟加载文本
- 27. 实体框架延迟加载和ICollection
- 28. 实体框架延迟加载
- 29. 实体框架延迟加载问题
- 30. 在php中延迟加载java脚本
你为什么要这么做? – 2012-02-23 06:51:02
我没有一个具体的用例,但想知道 - 如果创建一个枚举实例是昂贵的(比如它从DB创建实例中读取某些东西),那么创建一个实例只有当它是要求。 – shrini1000 2012-02-23 06:53:15
我有一个非常具体的案例。如果要在计算机视觉项目中搜索图像对象,我需要存储枚举。他们很可能被多次搜索,但我不想将它们与应用程序一起初始化。 – 2015-02-05 19:44:01