2012-03-23 3 views
-1
boolean isdata=false; // converting this to true 
String qname="data"; 
String abc="is"+qname; 
isdata = true // works here but i dont wanna hard code.. there is much data like this 
       // i am trying to automate the process. i have basic knowledge of doing it manually 

으로 변환 할 수 있습니까? 지금은 isdata를 true로 변환하고 싶습니다. 이것에 대한 구현이 있는가?변수 데이터를 변수

+0

다음과 같은 것을 원하십니까'boolean isdata = false;/* 일부 작업을 수행하십시오 */isdata = true; ' – twain249

+2

귀하의 질문은 매우 혼란 스럽습니다. 특히 당신이 문제가있는 것은 무엇입니까? –

+4

즉각적인 질문에 대한 대답은 [반영] (http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/package-summary.html)입니다. 그러나 반사를 요구하는 것은 보통 나쁜 설계이기 때문에 전반적인 디자인을 살펴 보는 것은 비용을 지불합니다. –

답변

1

PHP의 variable variables과 같은 것으로 보입니다. Java에서는 지원하지 않습니다 (어쨌든 Reflection을 사용하지 않고).

이렇게해야하는 경우 Map을 사용할 수도 있습니다. 모든 것을 "is"로 접두사로 붙이려고하기 때문에, 나는 그들 모두가 Boolean이라고 가정하고 있습니다.

Map<String, Boolean> is = new HashMap<String, Boolean>(); 

... 

String qname = "data"; 
is.put(qname, false); 

... 

// retrieve is[data] for comparison 
if (is.containsKey("data") && is.get("data")) { 
    // is[data] is true 
} 

// update is[data] 
is.put("data", true); 

솔직히 말해서, 이런 식으로 뭔가를하고 있다면, 당신이 설계 한 방식은 아마도 약간의 klunky입니다. 뒤로 물러나서 개선 할 수 있는지 확인하십시오.

+0

이것이 작동합니다. 감사 – prashanth