void main() {
var person1 = Person(22);
var person2 = Person(20);
print(person1 == person2);
print(person1 > person2);
print(person1 < person2);
}
class Person {
int age;
Person(this.age);
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Person && runtimeType == other.runtimeType && age == other.age;
@override
int get hashCode => age.hashCode;
//复写操作符 >
bool operator >(Person person) => this.age > person.age;
//复写操作符 <
bool operator <(Person person) => this.age < person.age;
}
结果:
false
true
false
Process finished with exit code 0