我刚刚看一下dart的3º教程,创建了评级组件.我想知道在对字符串进行字符串化时是否有相同的方法,类似于Java的toString.
例如:
MyClass myObject = new MyClass();
System.out.println(myObject);
Run Code Online (Sandbox Code Playgroud)
如果覆盖将调用MyClass.toString(),否则将调用它的父级,直到达到java.lang.Object,给出默认的toString.
我发现有点丑陋(完全主观)做:
<span ng-repeat="star in cmp.stars" > {{star.toString()}} </span>
Run Code Online (Sandbox Code Playgroud)
我宁愿这样做:
<span ng-repeat="star in cmp.stars" > {{star}} </span>
Run Code Online (Sandbox Code Playgroud)
并实现我希望它以一种averwritten方法显示的方式.这可能吗?
是的,它的工作原理如下print
,字符串插值或角度胡须.
通过覆盖String toString()
对象上的方法,显示的值将是此toString()
调用的结果.如果没有toString()
在类层次结构中定义的toString()
的Object
将被调用(这将返回Instance of 'MyClass'
的class 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'
Run Code Online (Sandbox Code Playgroud)
我认为这可能是您想要的。
归档时间: |
|
查看次数: |
3554 次 |
最近记录: |