是否可以在 Dart 中使用像 Java 这样的 .equals() 方法
Is it possible to use .equals() method like Java in Dart
我是一名 Java 开发人员,也是 Dart 的新手。
当我在 Dart 中比较两个对象时,它只有 ==
运算符可以帮助我比较 Dart 中两个对象的两个逻辑内存地址。如何在不准备下面这段代码的情况下将两个对象比较为 Java 一样?准备实体的 class 让我很累,所以我想知道 Dart 有什么办法吗?
class MyClass {
final MySubClass mySubClass;
MyClass({this.mySubClass});
bool equals(Object other) => identical(this, other) || other is MyClass && runtimeType == other.runtimeType && something.equals(other.mySubClass);
}
class MySubClass {
final String something;
MySubClass({this.something});
bool equals(Object other) => identical(this, other) || other is MySubClass && runtimeType == other.runtimeType && something == other.something;
}
Dart 语言没有 equals 方法。根据this article,我必须使用Equatable Package
。
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Class &&
runtimeType == other.runtimeType &&
id == other.property;
@override
int get hashCode => property.hashCode;
我是一名 Java 开发人员,也是 Dart 的新手。
当我在 Dart 中比较两个对象时,它只有 ==
运算符可以帮助我比较 Dart 中两个对象的两个逻辑内存地址。如何在不准备下面这段代码的情况下将两个对象比较为 Java 一样?准备实体的 class 让我很累,所以我想知道 Dart 有什么办法吗?
class MyClass {
final MySubClass mySubClass;
MyClass({this.mySubClass});
bool equals(Object other) => identical(this, other) || other is MyClass && runtimeType == other.runtimeType && something.equals(other.mySubClass);
}
class MySubClass {
final String something;
MySubClass({this.something});
bool equals(Object other) => identical(this, other) || other is MySubClass && runtimeType == other.runtimeType && something == other.something;
}
Dart 语言没有 equals 方法。根据this article,我必须使用Equatable Package
。
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Class &&
runtimeType == other.runtimeType &&
id == other.property;
@override
int get hashCode => property.hashCode;