如何编写一个通用的toString()方法呢?

java-经验王 Java经验 发布时间:2021-11-04 09:44:52 阅读数:8749 1
下文笔者讲述使用Java编写一个通用的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: 我是一个网站
}
通用toString方法的写法分享
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202111/16359912641684.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者