如何编写一个通用的toString()方法呢?
下文笔者讲述使用Java编写一个通用的toString()方法分享,如下所示:
世上最完整的toString示例分享
实现思路:
1.借助反射获取类中所有字段名称
2.遍历输出所有字段值
例:世上最完整的toString示例分享
package com.java265.other;
import java.lang.reflect.Field;
public class Test {
/*
* java265.com 数字格式化为货币样式输出的示例分享
**/
public static void main(String[] args) {
A a = new A("java265.com", 88, "我是一个网站");
String t = a.toString();
System.out.println("=======================");
System.out.println(t);
}
}
class A {
private String name;
private int age;
public String notes;
public A() {
}
public A(String name, int age, String notes) {
this.name = name;
this.age = age;
this.notes = notes;
}
public String toString() {
StringBuilder result = new StringBuilder();
String newLine = System.getProperty("line.separator");
result.append(this.getClass().getName());
result.append(" Object {");
result.append(newLine);
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
result.append(" ");
try {
result.append(field.getName());
result.append(": ");
result.append(field.get(this));
} catch (IllegalAccessException ex) {
System.out.println(ex);
}
result.append(newLine);
}
result.append("}");
return result.toString();
}
}
-------运行以上代码,将输出以下信息-----
=======================
com.java265.other.A Object {
name: java265.com
age: 88
notes: 我是一个网站
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


