열거 형에 열거 형 인스턴스가 있고 처음 인스턴스에 액세스하면 나머지 인스턴스도 모두 동시에 초기화됩니다. enum 인스턴스를 처음 액세스 할 때만 초기화 할 수 있습니까?열거 형 인스턴스의 Java 지연로드
4
A
답변
8
기본적으로하지 않고는 더 이상 enum
이 아닙니다. Enums are classes. 클래스가 처음 사용될 때 JVM에 의해로드되고 정적 초기화가 모두 수행됩니다. 열거 형 멤버를 설정하는 것은 정적 초기화이므로 모두 초기화됩니다.
4
사용 중에 인스턴스를 지연로드 할 수 있습니다. 즉, 생성자는 실제로 값 비싼 작업을 수행하지 않습니다. 이 열거 형의 메서드에서는 checkLoaded() 메서드를이 메서드가 필요한 메서드에 추가합니다. 이것은 그것이하는 것에 따라 모든 방법 일 필요는 없습니다.
+1
개발자는 스레드 안전성을 고려해야하지만 흥미로운 아이디어입니다. –
관련 문제
- 1. 상위의 Java 열거 형
- 2. 다른 열거 형을 참조하는 Java 열거 형
- 3. Java-Design : 열거 형 상태입니까?
- 4. Java 확장 가능 열거 형
- 5. 열거 형 내의 열거 형
- 6. 열거 형 내의 열거 형
- 7. DB의 열거 형 또는 열거 형 열거 형
- 8. 복합 형 열거 형
- 9. 다른 열거 형 값에 열거 형 지정
- 10. 열거 형 대 강력한 형식의 열거 형
- 11. 열거 형?
- 12. 열거 형
- 13. Java의 열거 형 이해
- 14. Java의 토큰 열거 형
- 15. Java 계단식 열거 형? 내 프로젝트에서
- 16. Java : 집합의 열거 형 <String>
- 17. Java 열거 형 유효하지 않은 오류
- 18. 다른 열거 형의 열거 형
- 19. 자바 열거 형 값
- 20. 자바 열거 형 확장하기
- 21. Java의 형식 보증 열거 형
- 22. 더 나은 Java 프로그래밍 실습 : 열거 형 및 열거 형 생성자 쌓기 또는 서브 클래 싱?
- 23. 클래스가 열거 형 (또는 열거 형 일 필요)
- 24. 목록 열거 형 값 열거 형 PHP mysql
- 25. 열거 형 'UIViewAnimationCurve'에서 다른 열거 형 'UIViewAnimationTransition'으로의 암시 적 변환
- 26. 열거 형 값 열거 형 정의를 얻는 방법?
- 27. 열거 형 값을 별도의 열거 형 형식으로 다시 사용
- 28. Java의 열거 형 목록을 나열하십시오.
- 29. 열거 형 이해
- 30. 자바 : 익명 열거 형?
왜 그걸 원하니? –
구체적인 사용 사례는 없지만 궁금한 점이 있습니다. enum 인스턴스를 만드는 데 많은 비용이 들지만 (인스턴스 생성 당 DB에서 무언가를 읽는다 고 말하면), 인스턴스가 생성 될 때만 인스턴스를 만드는 것이 더 바람직 할 수 있습니다 물었다. – shrini1000
매우 구체적인 사례가 있습니다. 컴퓨터 비전 프로젝트에서 검색 할 이미지 개체가 있으면 열거 형을 저장해야합니다. 여러 번 검색 될 가능성이 높지만 응용 프로그램과 함께 초기화하지 않으려합니다. –