前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MoreObjects

MoreObjects

作者头像
发布2019-08-01 10:38:44
4040
发布2019-08-01 10:38:44
举报
文章被收录于专栏:WD学习记录WD学习记录

MoreObjects是一个辅助类,提供了那些在Objects中没有提供的方法。

T firstNonNull(@Nullable T first, @Nullable T second)。找出first和second中第一个不为空的对象,并返回,如果都为空,抛出空指针异常。目前在项目中用来设置默认值,也不知道是否合理。

ToStringHelper toStringHelper(Object self);该方法是为了创建一个ToStringHelper的实例,为了辅助实现Object的toString方法。

还有ToStringHelper toStringHelper(Class<?> clazz);以及ToStringHelper toStringHelper( String className);这三个方法都是要获取到className,传给ToStringHelper的构造函数。

ToStringHelper中用节点的形式存储每个add进去的属性,节点为ValueHolder:

代码语言:javascript
复制
private static final class ValueHolder {
      @Nullable String name;
      @Nullable Object value;
      @Nullable ValueHolder next;
    }

ToStringHelper中可以调用add(String name, T value),以及addValue(T value),通过调用addHolder添加节点。

其中的toString方法则会遍历所有的节点,然后打印出方法以及属性名和属性值。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档