Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 对象的默认字符串化,相当于Java';什么是toString?_Dart_Angular Dart - Fatal编程技术网

Dart 对象的默认字符串化,相当于Java';什么是toString?

Dart 对象的默认字符串化,相当于Java';什么是toString?,dart,angular-dart,Dart,Angular Dart,我刚刚看了dart的3º教程,创建评级组件。我想知道在字符串化对象时是否会调用相同的方法,类似于Java的toString 例如: MyClass myObject = new MyClass(); System.out.println(myObject); 如果覆盖,将调用MyClass.toString(),否则将调用其父级,直到到达java.lang.Object并给出默认toString 我觉得这样做很难看(完全主观): {{star.toString()} 我宁愿: <

我刚刚看了dart的3º教程,创建评级组件。我想知道在字符串化对象时是否会调用相同的方法,类似于Java的toString

例如:

MyClass myObject = new MyClass();
System.out.println(myObject);
如果覆盖,将调用MyClass.toString(),否则将调用其父级,直到到达java.lang.Object并给出默认toString

我觉得这样做很难看(完全主观):

{{star.toString()}
我宁愿:

    <span ng-repeat="star in cmp.stars" > {{star}} </span>
{{star}

并给出了我希望它以一种新的方式显示的实现。这是可能的吗?

是的,它对
打印、字符串插入或有角的胡子都是这样工作的


通过覆盖对象上的
String-toString()
方法,显示的值将是此
toString()
调用的结果。如果类层次结构中没有定义
toString()
,将调用
Object
toString()
(这将返回
类MyClass{}
实例“MyClass”
)。

如果您有以下内容:

class MyClass {
    String data;

    MyClass(this.data);

    @override
    String toString() {
        return data;
    }
}

MyClass myObject = new MyClass("someData");
print(myObject); // outputs "someData", not 'Instance of MyClass'

我想这可能就是您想要的。

您可能会感兴趣,看看Rating组件是如何在Angular Dart UI项目中实现的。退房


Sergey。

您能提供如何完成这项工作吗。我只得到了“MyClass”的
实例
。啊,好的。我以为你的意思是覆盖的方法是打印。。。哇,很酷的组件。我仍在学习角度教程系列,但很明显,下一个系列将是角度省道ui。
class MyClass {
    String data;

    MyClass(this.data);

    @override
    String toString() {
        return data;
    }
}

MyClass myObject = new MyClass("someData");
print(myObject); // outputs "someData", not 'Instance of MyClass'