간단한 Java Reflection 사용 사례 :: 2010/09/02 16:20
|
|
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
class A {
private String p;
private String q;
A() {
p = "foo";
q = "bar";
}
public String getP() {
return p;
}
public String getQ() {
return q;
}
public Map<String, Object> toMap() {
Field[] fields = this.getClass().getDeclaredFields();
Map<String, Object> ret = new HashMap<String, Object>();
for ( int i = 0; i < fields.length; ++i ) {
try {
ret.put(fields[i].getName(), fields[i].get(this));
} catch (IllegalArgumentException e) {
e.printStackTrace();
return null;
} catch (IllegalAccessException e) {
e.printStackTrace();
return null;
}
}
return ret;
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
A a = new A();
Map<String, Object> r = a.toMap();
for ( String s : r.keySet() ) {
Object o = r.get(s);
System.out.println("key:" + s + ", value:" + o.toString());
}
}
}
-
공중곡예사의 생각
Tracked from bjlee72's me2DAY | 2010/09/02 16:30 | DEL간단한 Java Reflection 사용 사례