Dart 对象的默认字符串化,相当于Java';什么是toString?
我刚刚看了dart的3º教程,创建评级组件。我想知道在字符串化对象时是否会调用相同的方法,类似于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()} 我宁愿: <
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'