compareByName<T extends Enum> 静态方法

  1. @Since("2.15")
int compareByName<T extends Enum>(
  1. T value1,
  2. T value2
)

按照名称比较枚举值。

枚举值的EnumName.name是一个表示声明该枚举值时使用的源名称的字符串。

Comparator通过比较名称来比较两个枚举值,可用于按名称对枚举值进行排序。比较使用String.compareTo,因此是大小写敏感的。

示例

enum Season { spring, summer, autumn, winter }

void main() {
  var seasons = [...Season.values]..sort(Enum.compareByName);
  print(seasons);
  // [Season.autumn, Season.spring, Season.summer, Season.winter]
}

实现

@Since("2.15")
static int compareByName<T extends Enum>(T value1, T value2) =>
    value1.name.compareTo(value2.name);