반응형
유형을 지정하지 않고 Java Enum을 참조하려면 어떻게 해야 합니까?
다음과 같이 자체 열거형을 정의하는 클래스가 있습니다.
public class Test
{
enum MyEnum{E1, E2};
public static void aTestMethod() {
Test2(E1); // << Gives "E1 cannot be resolved" in eclipse.
}
public Test2(MyEnum e) {}
}
MyEnum을 지정했을 경우.E1은 잘 작동하지만, 저는 E1로 하고 싶습니다.이 작업을 수행하려면 어떻게 해야 하는지, 아니면 다른 파일에 정의해야 합니까?
결론: Import의 구문을 올바르게 알 수 없었습니다.몇 가지 답변에서 이것이 가능하다는 의견이 나왔기 때문에 필요한 구문을 알려준 것을 선택하고 나머지 항목을 상향 투표합니다.
덧붙여서, (스태틱 Import가 동작하기 전에) 이 중 정말 이상한 부분은 Enum을 사용하는 스위치 스테이트먼트에서 Enum을 그 타입에 따라 프레픽스 하는 것을 허용하지 않았습니다.다른 모든 코드는 그것을 필요로 했습니다.머리를 다쳤어요.
실제로 중첩된 열거형의 정적 가져오기를 수행할 수 있습니다.아래 코드는 컴파일 상태가 양호합니다.
package mypackage;
import static mypackage.Test.MyEnum.*;
public class Test
{
enum MyEnum{E1, E2};
public static void aTestMethod() {
Test2(E1);
}
public static void Test2(MyEnum e) {}
}
네스트된 클래스에서 스태틱 Import를 수행할 수 있습니다.
import static apackage.Test.Enum.*;
테스트 클래스는 패키지에 정의되어 있어야 Import할 수 있습니다.
패키지가 정의되어 있는 경우Test
(IT기능):
package mypackage;
다음을 사용할 수 있습니다.
import static mypackage.Test.MyEnum.*;
패키지가 정의되어 있지 않으면 (DONS NOT WORK)를 사용할 수 없습니다.
import static Test.MyEnum.*;
언급URL : https://stackoverflow.com/questions/1677037/how-can-i-reference-my-java-enum-without-specifying-its-type
반응형
'programing' 카테고리의 다른 글
json과 simplejson Python 모듈의 차이점은 무엇입니까? (0) | 2022.09.21 |
---|---|
PHP에서 후행 0을 제거하는 방법 (0) | 2022.09.21 |
Gulp 태스크를 순차적으로 실행하는 방법 (0) | 2022.09.21 |
DateTimeField 날짜를 Django에서 필터링하려면 어떻게 해야 합니까? (0) | 2022.09.21 |
어떻게 장고의 테스트 데이터베이스를 메모리에서만 실행할 수 있습니까? (0) | 2022.09.21 |