Java UUID 字符串表示自然排序

标签 java string comparison uuid

假设我有两个 UUID 实例:

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

如果这两个比较使得 uuid1 小于 uuid2 即,

uuid1.compareTo(uuid2) // -1

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

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

最佳答案

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

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

使用来自 UUID 的 compareTo 得到 -1,而来自 String 的 compareTo 结果为 43

关于Java UUID 字符串表示自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364241/

相关文章:

c - 为什么字符串数组中的 "Hello"的大小为 4?

java - 比较两个数组列表

java - 如何使用 Spring Boot 测试 jwt.*?

java - 自己创建一个ResultSet对象

java - BouncyCaSTLe - 从 X509Certificate 对象创建 Store

java - 归并排序还是数据库?

python - 有没有一种通用的方法来测试两个对象的属性在 Python 中是否相等?

java - 为什么身份映射器会出现内存不足的情况?

java - 使用带有自定义比较器的优先级队列根据字符串中的单词数进行排序?

java - 当字符串到达​​\n时打印行的替代方案,同时仍然使用 fileinputstream