lombok基础注解之@ToString
⼀、注解介绍
作⽤于类,覆盖默认的toString()⽅法,输出格式:ClassName(fieldName=fieleValue,fieldName1=fieleValue)
⼆、属性介绍
includeFieldNames:在打印时是否包括字段的名称,默认为true
exclude:通过该属性可以排除某些字段,默认为空
of:过该属性可以限定显⽰某些字段,默认打印⾮静态字段
当of属性和exclude属性同时出现时,of属性优先
在不久的将来两者将会被加上@Deprecated(不建议使⽤,有更好的替代),因为它们不能打印⽅法
callSuper:可以将⽗类的toString的输出包含到输出中(先调⽤),默认为fal
doNotUGetters:是否调⽤getter⽅法获取属性值,fal表⽰调⽤,默认fal
onlyExplicitlyIncluded:仅包含显式标记为@e的字段和⽅法,默认为fal
Include:配置在中呈现此成员的⽅式;如果在⽅法上,则在输出中包含该⽅法的返回值,of属性的替代
Include只有在onlyExplicitlyIncluded=true时才会⽣效,Include标记在需要包含的属性或⽅法上
当onlyExplicitlyIncluded=true时,则必须搭配Include使⽤,否则不打印任何字段
name:name表⽰指定该字段的名称,默认为“”
rank:rank表⽰该字段的优先级,值越⼤排在越前⾯,默认为0
Exclude:exclude属性的替代
of、exclude属性不能与onlyExplicitlyIncluded、Include、Exclude同时出现
三、实战演练
@ToString(
includeFieldNames=true,exclude={"age"},of={"name","age"},callSuper=fal,doNotUGetters=fal
)
publicclass佟丽娅{
privateStringname;
privateIntegerage;
}
编译后
publicclass佟丽娅{
privateStringname;
privateIntegerage;
publicStringtoString(){
return"佟丽娅(name="++",age="++")";
}
}
@ToString(
includeFieldNames=true,callSuper=fal,doNotUGetters=fal,
onlyExplicitlyIncluded=true//onlyExplicitlyIncluded默认值为fal
)
publicclass佟丽娅{
/**
*Include需要配合onlyExplicitlyIncluded=true使⽤,否则⽆效
*/
@e(name="丫丫",rank=0)
privateStringname;
@e
privateIntegerage;
@e
privateStringprintln(){
return"佟丽娅";
}
}
编译后
publicclass佟丽娅{
privateStringname;
privateIntegerage;
privateStringprintln(){
return"佟丽娅";
}
publicStringtoString(){
return"佟丽娅(丫丫="++",println="+println()+")";
}
}
四、温馨提⽰
当onlyExplicitlyIncluded=true时需要搭配@e使⽤,这个时候就没有必要⽤@e,因为字段不加
@e将都不会显⽰
本文发布于:2022-11-24 17:37:09,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/13271.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |