假设我有:
class Test<T> {
void method() {
if (T is int) {
// T is int
}
if (T == int) {
// T is int
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以覆盖==运算符,但是如果我不覆盖任何运算符,Dart==和isDart之间的主要区别是什么。
编辑:
说我有
extension MyIterable<T extends num> on Iterable<T> {
T sum() {
T total = T is int ? 0 : 0.0; // setting `T == int` works
for (T item in this) {
total += item;
}
return total;
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用我的扩展方法时:
var …Run Code Online (Sandbox Code Playgroud) dart ×1