explicitly

更新时间:2022-11-24 17:37:09 阅读: 评论:0


2022年11月24日发(作者:机械设备管理制度)

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小时内删除。

标签:explicitly
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图