您可以执行以下操作:
public void printFields(Object obj) throws Exception { Class<?> objClass = obj.getClass(); Field[] fields = objClass.getFields(); for(Field field : fields) { String name = field.getName(); Object value = field.get(obj); System.out.println(name + ": " + value.toString()); }}这只会打印公共字段,要打印私有字段,请递归使用class.getDeclaredFields。
或者,如果您要扩展该类:
public String toString() { try { StringBuffer sb = new StringBuffer(); Class<?> objClass = this.getClass(); Field[] fields = objClass.getFields(); for(Field field : fields) { String name = field.getName(); Object value = field.get(this); sb.append(name + ": " + value.toString() + "n"); } return sb.toString(); } catch(Exception e) { e.printStackTrace(); return null; }}


