번호를 만들었습니다. 정수 중 1000 개 이상인 정수는 정수입니다.변수의 이름을 출력 할 수 있습니까?
public static final FOO 335343
public static final BAR 234234
public static final BEZ 122424
....
....
....
Java에서 이름의 변수 인 FOO, BAR 및 BEZ를 인쇄하는 방법이 있습니까? 자바 리플렉션에 익숙하지 않습니다. 그게 도움이되는지 나는 모른다. 사실 뒤에이 질문을
는if (FOO == 335343)
---> output "FOO"
if (BAR == 234234)
---> ouptut "BAR"
....
내가
이
System.out.println("This time the output is " + FOO);
말과 실제 출력 내가 알고 싶은
This time the output is 335323
있는 파일에 로그 기록 할 것입니다 변수는 335323에서옵니다. var를 넣는 것 외에 다른 방법이 있습니까? iable 및 그것의 associate 상수를 hashMap에?
감사
왜? 이 작업을 수행함에있어 목표는 무엇이며 코드를 실행하는 데 변수 이름이 중요한 이유는 무엇입니까? 또는 enum을 실제로 사용 하시겠습니까? 나는 현재의 문제에 대한 최선의 해결책이 그것을 완전히 다른 방식으로 해결하는 것이라는 강한 의구심을 갖고 있습니다. 이러한 관점에서 볼 때, 해결하려는 전반적인 문제가 아니라 해결 방법을 알려주는 것이 가장 좋습니다. –
[복제를 통해 Java 정적 final ivar 값에 액세스] 가능한 복제본 (http://stackoverflow.com/questions/850148/accessing-java-static-final-ivar-value-through-reflection) –
@Kit : 아래의 내 답변에서 편집 (편집 1이라고 표시)을 수정하십시오. –