当前位置: 首页 > 编程笔记 >

Java实现toString()方法

那存
2023-03-14
本文向大家介绍Java实现toString()方法,包括了Java实现toString()方法的使用技巧和注意事项,需要的朋友参考一下

示例

要轻松实现对象的toString方法,可以使用ToStringBuilder类。

选择字段:

@Override
public String toString() {

    ToStringBuilder builder = new ToStringBuilder(this);
    builder.append(field1);
    builder.append(field2);
    builder.append(field3);
    
    return builder.toString();
}

结果示例:

ar.com.jonat.lang.MyClass@dd7123[<null>,0,false]

明确命名字段:

@Override
public String toString() {

    ToStringBuilder builder = new ToStringBuilder(this);
    builder.append("field1",field1);
    builder.append("field2",field2);
    builder.append("field3",field3);
    
    return builder.toString();
}

结果示例:

ar.com.jonat.lang.MyClass@dd7404[field1=<null>,field2=0,field3=false]

您可以通过参数更改样式:

@Override
public String toString() {

    ToStringBuilder builder = new ToStringBuilder(this,
            ToStringStyle.MULTI_LINE_STYLE);
    builder.append("field1", field1);
    builder.append("field2", field2);
    builder.append("field3", field3);

    return builder.toString();
}

结果示例:

ar.com.bna.lang.MyClass@ebbf5c[
  field1=<null>
  field2=0
  field3=false
]

有一些样式,例如JSON,no Classname,short等。

通过反射:

@Override
public String toString() {
    return ToStringBuilder.reflectionToString(this);
}

您还可以指出样式:

@Override
public String toString() {
    return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}

           

 类似资料:
  • 本文向大家介绍Java toString()方法。,包括了Java toString()方法。的使用技巧和注意事项,需要的朋友参考一下 String类的toString()方法将自身返回为字符串。 示例 输出结果

  • 我创建了一个(个人、学生、员工、教职员工)类。Person必须将Student和Employee分为子类。Employee有两个子类:教员和职员。我已经完成了所有的编码,他们工作得很好,除了我的驱动程序类TestPerson程序给出了编译错误 注:一个测试程序,创建一个人、学生、员工、教职员工,并调用他们的toString方法。 驱动程序类TestPerson的错误。以下是java:- **我只是

  • 问题内容: 在Java中似乎可以编写如下代码: 现在,我想知道枚举的值为红色时是否可以在toString方法中返回“ abc”,绿色的时​​候可以返回“ def”。另外,是否可以在C#中做类似的事情? 我已经尝试过了,但是却遇到了编译器错误。 谢谢 问题答案: 回答2:

  • 本文向大家介绍java中的 toString()方法实例代码,包括了java中的 toString()方法实例代码的使用技巧和注意事项,需要的朋友参考一下 前言:       toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据。   最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理。   处理要求把集合数

  • 问题内容: 我有几个使用下划线分隔单词的Java枚举。在我的每个枚举中,我都有一个toString方法,该方法实现为super.toString()。replace(“ _”,“”),这样我就可以在GUI上显示String值而没有下划线。有什么办法可以让我的所有枚举都使用此toString方法,而不必在所有这些枚举之间重复?如果这是一个常规类,答案很简单,实现toString()然后让我所有需要该