The hash code is based on the value and dimensions. Uncertainty and preferred units are not considered.
@override int get hashCode => hashObjects(<Object>[valueSI, dimensions]);