当前位置: 代码迷 >> 综合 >> 反射实现的通用toString()方法
  详细解决方案

反射实现的通用toString()方法

热度:81   发布时间:2024-01-19 10:07:38.0
每次实现Object的toString()方法很麻烦,所以通过反射写了个通用的toString()方法

public String toString() {
   

StringBuffer buffer = new StringBuffer();

Class clazz = getClass();
String fullName = clazz.getName();
int position = fullName.lastIndexOf(".");
String shortName = fullName.substring(position + 1);

buffer.append(shortName);
buffer.append(": [");

Field[] fields = clazz.getDeclaredFields();
Field.setAccessible(fields, true);
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
try {
buffer.append(field.getName());
buffer.append("=");
buffer.append(field.get(this));
buffer.append(", ");
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
buffer.setLength(buffer.length() - 2);
buffer.append("]");

return buffer.toString();
}
  相关解决方案