toString 클래스 유틸리티 샘플
toString()자동으로 만들어주는 소스들이 많지만 그 중 하나를 소개해 드립니다. 심플하고 쉽게 활용이 가능하여 공유합니다.
1. ClassUtils 샘플
1. ClassUtils 샘플
package client;2. 테스트 샘플
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class ClassUtils
{
private ClassUtils() {
}
public static String toString(Object o)
{
String ret = null;
List<Object> list = null;
try {
list = new ArrayList<Object>();
ClassUtils.toString(o, o.getClass(), list);
ret = o.getClass().getName().concat(list.toString());
} catch (Exception e) {
e.printStackTrace();
ret = null;
}
return ret;
}
private static void toString(Object o, Class<?> clazz, List<Object> list)
{
Field[] f = null;
try {
f = clazz.getDeclaredFields();
AccessibleObject.setAccessible(f, true);
for (int i = 0; i < f.length; i++) {
list.add(f[i].getName() + "=" + f[i].get(o));
}
if (clazz.getSuperclass().getSuperclass() != null)
toString(o, clazz.getSuperclass(), list);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package client;3. 테스트 결과
public class ClassUtilsClient
{
public String hello = "Test";
public int i = 9999;
public static void main(String... args) {
System.out.println(ClassUtils.toString(
new ClassUtilsClient()));
}
}
client.ClassUtilsClient[hello=Test, i=9999][관련포스트]








