全路径名:
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();
}