Java UUID字符串表示自然排序

tob*_*son 4 java string comparison uuid

假设我有两个UUID实例:

uuid1 = UUID.randomUUID();
uuid2 = UUID.randomUUID();
Run Code Online (Sandbox Code Playgroud)

如果那两个比较uuid1小于uuid2ie,

uuid1.compareTo(uuid2) // -1
Run Code Online (Sandbox Code Playgroud)

他们的字符串表示是否总是比较以给出相同的结果,即,

uuid1.toString().compareTo(uuid2.toString()) // -1 ????
Run Code Online (Sandbox Code Playgroud)

Her*_*ans 7

简而言之,没有.这是一个两个UUID的快速反例 - 断言不成立:

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

使用UUID中的compareTo得到-1,而来自String的compareTo得到43.