调试字符串和表示字符串的约定

Convension for debug string and representation string

你好,我正在写一个可满足性检查器,我有一个 Literal class
我需要:

  • 显示 Literal 的 details/states 的方法
  • 一种显示原始用户输入的方法 Literal

    但是只有一种toString方法。我应该将哪个放在 toString 中,我应该为哪个创建新方法?这种东西有约定吗?如果是,有什么原因吗?

    更新
    我的 details/states 字符串看起来像:

    String.format("Full literal: %s, raw literal: %s, negated: %s, " +
                  "tautology: %s, contradiction: %s, assigned: %s",
                    this.fullLiteral, this.rawLiteral, 
                    this.isNegated,   this.isTautology,
                    this.isContradiction, this.isAssigned ? this.truthValue : "null");
    

    我的原始文字字符串如下所示:

    return String.format("Raw literal: %s", this.rawLiteral);
    
  • toString()

    Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

    这可能支持我关于使用 toString() 获取详细字符串(并因此使用不同的方法,例如 getRaw() 获取原始数据)的评论