상수 파일에서 키 값 쌍을 읽으려고합니다. 클래스 이름과 필드 이름을 직접 사용할 때 작동하지만 클래스 + 필드 조합을 동적으로 만들 때 작동하지 않습니다. 이 문제를 협상하는 방법? DEV_INT_SQL_SELECT_STATEMENTJava 상수 문자열을 작성하여 인스턴스화
:다음은이 키는
public someClass
{
public someMethod() //This works
{
String sqlStatement = QueryLoader.getStatement(Constants.DEV_SELECT_STATEMENT);
System.out.println("The key is :" + Constants. DEV_SELECT_STATEMENT);
System.out.println(“SqlStatement is : “ + sqlStatement);
}
}
작동 // 내 상수
Public interface Constants
{
String DEV_SELECT_STATEMENT = “DEV_INT_SQL_SELECT_STATEMENT”
String INT_SELECT_STATEMENT = “DEV_INT_SQL_SELECT_STATEMENT”
}
Query.properties이
DEV_INT_SQL_SELECT_STATEMENT = “SELECT * FROM SOME TABLE”;
자바 클래스 파일을 파일 파일입니다
의 SQLStatement은 다음과 같습니다
public someClass //This does not work
{
public someMethod(String env) //This does not work
{
String queryKey = “Constants” +env + “_SELECT_STATEMENT “;
System.out.println(“The Key is : “ + queryKey);
String sqlStatement = QueryLoader.getStatement(queryKey);
System.out.println(“SqlStatement is : “ + sqlStatement);
}
의 열쇠는 일부 테이블에서 *를 선택
열거 사용할 수 있습니다; 가능하지만 가장 간단한 접근법은 아닙니다. –
@Dave, 이렇게 구현하려면 어떻게해야합니까? 제안/링크가 도움이 될 것입니다. – Raghu
예. Dave가 말했듯이이 문제를 해결할 수는 있지만 그건 끔찍한 접근입니다. 대신'Map'또는 속성 파일 (어쨌든지도)을 사용하십시오. –
Voo