我正在使用 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;
}
}
目前正在发生的事情是,当我将两个 Person 对象链接为 Bestfriends 时,ReflectionToStringBuilder 正在为 Bestfriend 的值编写整个 Person 对象。
Person[
id = 0001
name = John
age = 25
bestFriend=Person@25eb3d2[
id = 0002
name = Mary
age = 29
]
]
您能否指定为所有关系对象给我 ID 的值而不是整个 Person 对象?
Person[
id = 0001
name = John
age = 25
bestFriend= 0002