Java UUID строковое представление естественный порядок - PullRequest
4 голосов
/ 02 марта 2010

Скажем, у меня есть два экземпляра UUID:

uuid1 = UUID.randomUUID();
uuid2 = UUID.randomUUID();

Если эти два сравниваются так, что uuid1 меньше uuid2, т. Е.

uuid1.compareTo(uuid2) // -1

всегда ли верно, что их строковые представления будут сравниваться, чтобы дать одинаковый результат, т. Е.

uuid1.toString().compareTo(uuid2.toString()) // -1 ????

1 Ответ

7 голосов
/ 02 марта 2010

Короче, нет. Вот быстрый контрпример к двум UUID, для которых утверждение не выполняется:

  • b230f7ab-9420-4a3e-a684-284c609e76a5
  • 76d1f3c9-fc72-4f1a-ab48-28a858d760c5

Используя CompareTo из UUID вы получаете -1 , тогда как CompareTo из String дает 43 .

...