2012-10-17 5 views
0

열거 형의 특정 멤버 만 사용하도록 메서드를 제한 할 수있는 방법이 있습니까? 군대와 입대 계급의 열거가 있다고 가정 해 보겠습니다. 임원 계급 만 수행 할 수있는 기능과 입대식 계급 만 가질 수있는 기능을 원한다면 Java에서 그렇게 할 수있는 방법이 있다고 생각하지 않습니다.메서드 매개 변수를 특정 Enum 멤버로만 제한 할 수 있습니까?

+2

당신이하려는 일에 몇 가지 코드를 게시 할 수 있습니까? 준비를 잃었 어. 죄송합니다. – javarebel

+0

{A B C}의 유형이 모두 SpecialEnumType 인 SecurityEnumSet = {A B C} 및 MonkeyEnumSet = {B D E}와 같은 것? – BRFennPocock

+0

예,하지만 중복되지 않습니다. – ggb667

답변

1

매개 변수로 열거 형을 사용하는 메서드는 컴파일 타임에 해당 값을 취하는 메서드이므로 별개의 열거 형을 사용하는 것이 유일한 옵션입니다.

IDE가 입력하는 데 도움이됩니다.

+0

나는 그것을 두려워했다. IDE가 도움이되지 않습니다. 이클립스 3.6에서는 내가 호출하고있는 클래스 나 relavent 메소드를 포함하는 클래스에 정적으로 가져올 때에도 사용하고자하는 열거 형을 찾지 못한다. 그들이 EnumSets에 포함되어 있기 때문에 기대하고 있었지만 사용할 수는 없었습니다. – ggb667

+0

저는 열거 형 데이터를 보유하는 내부 클래스를 가진 인터페이스에 다양한 열거 형을 실제로 추가했습니다. 그것들은 각각 그 클래스를 호출하는 생성자와 그것들이 모두 구현 한 인터페이스의 일부인 getter 메소드를 가지고 있습니다. 그게 내가 할 수있는 최선이지만, 여전히 타이핑이 많이 있습니다. 지혜로운 말은 열거 형에서 정적 인 것을 피하십시오. – ggb667

관련 문제