1.常规使用
@Getter
@Setter
@ToString
public class Father {
private String name;
private Integer age;
}
@SpringBootTest
public class TestToString {
@Test
void test(){
Father father = new Father();
father.setName("张三");
father.setAge(50);
// 输出Father(name=张三, age=50)
System.out.println(father);
}
}
2.调用父类toString
设置callSuper=true
@Getter
@Setter
@ToString
public class Father {
private String name;
private Integer age;
}
@Getter
@Setter
@ToString(callSuper = true)
public class Child extends Father{
private String grade;
}
@SpringBootTest
public class TestToString {
@Test
void test(){
Child child = new Child();
child.setName("张小小");
child.setAge(20);
child.setGrade("大一");
// Child(super=Father(name=张小小, age=20), grade=大一)
System.out.println(child);
}
}
3.省略字段名称
设置 includeFieldNames = false
@Getter
@Setter
@ToString(includeFieldNames = false)
public class Father {
private String name;
private Integer age;
}
@SpringBootTest
public class TestToString {
@Test
void test1(){
Father father = new Father();
father.setName("张三");
father.setAge(50);
// 输出Father(张三, 50)
System.out.println(father);
}
}
4.字段的包含和排除
@Getter
@Setter
@ToString
public class Father {
private String name;
// 数据排除
@ToString.Exclude
private Integer age;
}
@SpringBootTest
public class TestToString {
@Test
void test1(){
Father father = new Father();
father.setName("张三");
father.setAge(50);
// 输出Father(name=张三)
System.out.println(father);
}
}
5.修改打印的字段名称
@Getter
@Setter
@ToString
public class Father {
// 修改字段名称为fatherName
@ToString.Include(name = "fatherName")
private String name;
private Integer age;
}
@SpringBootTest
public class TestToString {
@Test
void test1(){
Father father = new Father();
father.setName("张三");
father.setAge(50);
// 输出Father(fatherName=张三, age=50)
System.out.println(father);
}
}