相关疑难解决方法(0)

Dart 中的“is”和“==”有什么区别?

假设我有:

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

5
推荐指数
1
解决办法
278
查看次数

标签 统计

dart ×1