ToStringBuilder
是 Apache Commons Lang 库中的一个工具类,用于将对象转换为字符串表示形式。ToStringStyle.JSON_STYLE
是 ToStringStyle
枚举中的一个值,用于指定以 JSON 样式生成字符串。
ToStringBuilder
和 ToStringStyle
是 Apache Commons Lang 库中的两个类,用于帮助开发者更方便地生成对象的字符串表示形式。ToStringStyle
定义了不同的字符串样式,包括 JSON_STYLE
、SIMPLE_STYLE
、MULTI_LINE_STYLE
等。
ToStringBuilder
,可以减少手动拼接字符串的代码量,提高代码的可读性和可维护性。ToStringStyle
可以满足不同的字符串表示需求,例如 JSON 样式、简单样式等。ToStringStyle
枚举中包含以下几种类型:
DEFAULT_STYLE
SIMPLE_STYLE
MULTI_LINE_STYLE
NO_FIELD_NAMES_STYLE
SHORT_PREFIX_STYLE
PRETTY_PRINT_STYLE
JSON_STYLE
ToStringBuilder(ToStringStyle.JSON_STYLE)
在对象前后添加引号是因为 JSON 格式要求字符串必须用双引号括起来。
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("name", name)
.append("age", age)
.toString();
}
public static void main(String[] args) {
Person person = new Person("Alice", 30);
System.out.println(person.toString());
}
}
{"name":"Alice","age":30}
如果你不希望在对象前后添加引号,可以考虑使用其他 ToStringStyle
,例如 SIMPLE_STYLE
或 MULTI_LINE_STYLE
。
System.out.println(new ToStringBuilder(this, ToStringStyle.SIMPLE_STYLE)
.append("name", name)
.append("age", age)
.toString());
通过以上解释和示例代码,你应该能够理解为什么 ToStringBuilder(ToStringStyle.JSON_STYLE)
在对象前后添加引号,并且知道如何根据需求选择合适的 ToStringStyle
。
领取专属 10元无门槛券
手把手带您无忧上云