toString method Null safety

  1. @override
String toString()

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.


String toString() {
  String selfType = objectRuntimeType(this, 'GlobalObjectKey');
  // The runtimeType string of a GlobalObjectKey() returns 'GlobalObjectKey<State<StatefulWidget>>'
  // because GlobalObjectKey is instantiated to its bounds. To avoid cluttering the output
  // we remove the suffix.
  const String suffix = '<State<StatefulWidget>>';
  if (selfType.endsWith(suffix)) {
    selfType = selfType.substring(0, selfType.length - suffix.length);
  return '[$selfType ${describeIdentity(value)}]';