Guava-1.17.1类Objects.ToStringHelper

全路径名:

com.google.common.base
Objects.ToStringHelper

声明

public static final class Objects.ToStringHelper extends Object

简介

上节提到了这个类。是Objects的内部类。

方法

add
public ToStringHelper add(String name, double value)

在格式化name=value的输出上加一对name/value。
如果value为null,那么会用到字符串“null”。

addValue
public ToStringHelper addValue(@NullableDecl Object value)

格式化为value的输出上加一个value。

toString
public String toString()

返回格式化指定为Objects.toStringHelper(Object)的字符串。
源码如下:

@Override
    public String toString() {
      // create a copy to keep it consistent in case value changes
      boolean omitNullValuesSnapshot = omitNullValues;
      String nextSeparator = "";
      StringBuilder builder = new StringBuilder(32).append(className).append('{');
      for (ValueHolder valueHolder = holderHead.next;
          valueHolder != null;
          valueHolder = valueHolder.next) {
        Object value = valueHolder.value;
        if (!omitNullValuesSnapshot || value != null) {
          builder.append(nextSeparator);
          nextSeparator = ", ";

          if (valueHolder.name != null) {
            builder.append(valueHolder.name).append('=');
          }
          if (value != null && value.getClass().isArray()) {
            Object[] objectArray = {value};
            String arrayString = Arrays.deepToString(objectArray);
            builder.append(arrayString, 1, arrayString.length() - 1);
          } else {
            builder.append(value);
          }
        }
      }
      return builder.append('}').toString();
    }

你可能感兴趣的:(Guava-1.17.1类Objects.ToStringHelper)