열거 형의 특정 멤버 만 사용하도록 메서드를 제한 할 수있는 방법이 있습니까? 군대와 입대 계급의 열거가 있다고 가정 해 보겠습니다. 임원 계급 만 수행 할 수있는 기능과 입대식 계급 만 가질 수있는 기능을 원한다면 Java에서 그렇게 할 수있는 방법이 있다고 생각하지 않습니다.메서드 매개 변수를 특정 Enum 멤버로만 제한 할 수 있습니까?
답변
매개 변수로 열거 형을 사용하는 메서드는 컴파일 타임에 해당 값을 취하는 메서드이므로 별개의 열거 형을 사용하는 것이 유일한 옵션입니다.
IDE가 입력하는 데 도움이됩니다.
나는 그것을 두려워했다. IDE가 도움이되지 않습니다. 이클립스 3.6에서는 내가 호출하고있는 클래스 나 relavent 메소드를 포함하는 클래스에 정적으로 가져올 때에도 사용하고자하는 열거 형을 찾지 못한다. 그들이 EnumSets에 포함되어 있기 때문에 기대하고 있었지만 사용할 수는 없었습니다. – ggb667
저는 열거 형 데이터를 보유하는 내부 클래스를 가진 인터페이스에 다양한 열거 형을 실제로 추가했습니다. 그것들은 각각 그 클래스를 호출하는 생성자와 그것들이 모두 구현 한 인터페이스의 일부인 getter 메소드를 가지고 있습니다. 그게 내가 할 수있는 최선이지만, 여전히 타이핑이 많이 있습니다. 지혜로운 말은 열거 형에서 정적 인 것을 피하십시오. – ggb667
- 1. C# 메서드 매개 변수를 잠글 수 있습니까?
- 2. 메서드 매개 변수의 enum 값을 제한하는 중
- 3. 요청 매개 변수를 특정 메서드 매개 변수에 바인딩
- 4. ASP.net MVC에서 경로 매개 변수를 특정 유형으로 제한 할 수 있습니까?
- 5. CloudFront를 특정 지역으로 제한 할 수 있습니까?
- 6. C# 제네릭 메서드 형식 매개 변수를 포함하는 클래스의 형식 매개 변수에서 "할당 가능"으로 제한 할 수 있습니까?
- 7. System.Enum 형식의 매개 변수를 사용하여 메서드를 디자인 할 수 있습니까?
- 8. # 여러 매개 변수를 정의 할 수 있습니까?
- 9. 매개 변수를 일반적으로 액세스 할 수 있습니까?
- 10. 메서드 매개 변수를 열거 형으로 선언하는 방법
- 11. 메서드 매개 변수를 해당 메서드의 특성에 전달할 수 있습니까?
- 12. 스칼라는 메서드 정의에서 여러 매개 변수를 어떻게받을 수 있습니까?
- 13. Typed Factory Facility를 사용하여 (enum) 매개 변수를 기반으로 구현을 반환 할 수 있습니까?
- 14. 일반 메서드 매개 변수를 유추 할 수 있도록이 코드를 변경할 수 있습니까?
- 15. Visual Studio에서 특정 매개 변수를 mstest에 전달할 수 있습니까?
- 16. 지도에 제네릭 매개 변수를 보낼 수 있습니까?
- 17. 옵션 프로토콜 방법의 매개 변수를 입력 할 수 있습니까?
- 18. C# 메서드 매개 변수를 지정하면 nullable이 될 수 없음
- 19. 형식 매개 변수를 사용하는 메서드 지정
- 20. 지정한 매개 변수를 사용하여 호출 할 메서드 모음 만들기
- 21. Html.ActionLink에 URL 매개 변수를 자동으로 추가 할 수 있습니까?
- 22. Crystal Report에서 로그온 매개 변수를 하드 코딩 할 수 있습니까?
- 23. 클래스에 메서드 매개 변수를 캐스팅합니다. 인터페이스 관련
- 24. RedirectToAction을 사용하여 메서드 매개 변수를 반환하는 방법
- 25. 북마크릿을 제한 할 수 있습니까?
- 26. 템플릿을 제한 할 수 있습니까?
- 27. Moq에서 Delegate 매개 변수를 사용하여 메서드 확인
- 28. 특정 웹 사이트에 대한 액세스를 제한 할 수 있습니까?
- 29. SQLServer 복제를 데이터베이스의 특정 테이블 집합으로 제한 할 수 있습니까?
- 30. DOMXPath :: query를 특정 깊이로 제한 할 수 있습니까?
당신이하려는 일에 몇 가지 코드를 게시 할 수 있습니까? 준비를 잃었 어. 죄송합니다. – javarebel
{A B C}의 유형이 모두 SpecialEnumType 인 SecurityEnumSet = {A B C} 및 MonkeyEnumSet = {B D E}와 같은 것? – BRFennPocock
예,하지만 중복되지 않습니다. – ggb667