将类对象转换为人类可读字符串

MBZ*_*MBZ 6 java string

有没有什么方法可以自动将自定义类对象转换为人类可读的字符串?

例如考虑以下课程:

class Person {
    String Name;
    int Salary;
    ...
}

Person p = new Person();
p.setName("Tony");
p.setSalary(1000);
Run Code Online (Sandbox Code Playgroud)

我需要得到类似的东西:

Person: Name="Tony", Salary=1000
Run Code Online (Sandbox Code Playgroud)

Fra*_*eth 9

导入Commons Lang你可以使用ToStringBuilder

检查方法reflectionToString(java.lang.Object),这将自动创建您期望的表示.

这段代码:

Person p = new Person();
p.setName("Tony");
p.setSalary(1000);

System.out.println(ToStringBuilder.reflectionToString(p));
Run Code Online (Sandbox Code Playgroud)

结果这个字符串:

Person@64578ceb[Name=Tony,Salary=1000]
Run Code Online (Sandbox Code Playgroud)