compareTo method Null safety

  1. @override
int compareTo(
  1. ObjectId other
)
override

Compares this object to another object.

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Implementation

@override
int compareTo(ObjectId other) {
  List<int?> byteList = toBytes();
  List<int?> otherByteList = other.toBytes();
  for (var i = 0; i < 12; i++) {
    if (byteList[i] != otherByteList[i]) {
      return byteList[i]! < otherByteList[i]! ? -1 : 1;
    }
  }
  return 0;
}