java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Lombok导致打印的tostring中缺少父类的属性

使用Lombok导致打印的tostring中缺少父类的属性问题

作者:合格的程序员

使用Lombok时,若发现@Data注解的@ToString不包含父类属性,可通过添加@ToString(callSuper=true)解决,此方法确保在生成toString()时包括父类的属性,有效解决只打印子类属性的问题,这种做法对于需要完整信息展示的场景尤为重要

Lombok导致打印的tostring中缺少父类的属性

@Data
public class User extends BaseEntity {
/**
     * 姓名
     */
    @TableField("name")
    private String name;

    /**
     * 密码
     */
    @TableField("password")
    private String password;

    /**
     * 性别
     */
    @TableField("sex")
    private String sex;

    /**
     * 年龄
     */
    @TableField("age")
    private Integer age;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;

图中打印内容只包含子类属性,却不包含父类BaseEntity的属性

此处@Data修饰,此注解包含了getter,setter,tostring

所以此处的tostring如果不设置参数的话,打印string的时候只会包含子类的属性

解决

在@Data的基础上再加一个@ToString(callSuper = true)注解

callSuper = true

即解决缺少父类属性的问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文