我正在使用 Apache Common Lang ReflectionToStringBuilder 递归地为我的实体提供一个 toString 。
我有一个自定义的 ToStringStyle,我用它来稍微修改输出,并且我省略了一些我不想出现的变量。
我的问题是对于特定的对象类型,您可以指定要打印的特定属性吗?
例如:我有两个 Person 对象,每个对象都有一个 ID 值,还有一个名为 BestFriend 的关系对象。
public class Person {
int id;
String name;
int age;
Person bestfiend;
public void setBestFriend(Person bestFriend){
this.bestfiend = bestFriend;
}
}
Run Code Online (Sandbox Code Playgroud)
目前发生的情况是,当我将两个 Person 对象链接为 Bestfriend 时,ReflectionToStringBuilder 正在为 Bestfriend 的值写入整个 Person 对象。
Person[
id = 0001
name = John
age = 25
bestFriend=Person@25eb3d2[
id = 0002
name = Mary
age = 29
]
]
Run Code Online (Sandbox Code Playgroud)
您能否指定对于所有关系对象,给我 ID 的值而不是整个 Person 对象?
Person[
id = 0001 …Run Code Online (Sandbox Code Playgroud)