toString method

String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

toString() {
  String result = "";
  int absYear = solarYear.abs();
  String prefix = (solarYear < 0 ? "公元前" : "公元");
  result += "$prefix$absYear年";
  if (solarMonth < 1 || solarMonth > 12) {
    return "非法日期";
  }
  result += "$solarMonth月";

  if (solarDay < 1 || solarDay > 31) {
    return "非法日期";
  }
  result += "$solarDay日";
  return result.length < 1 ? "非法日期" : result;
}