我是一个独特的人。我的意思是我与这个世界上的所有其他人不同。当我在 flutter 中创建一个 UniqueKey 时,它与其他所有的世界有何不同?
答案 0 :(得分:1)
UniqueKey
的唯一性与每个实例化对象都是一个单独的对象完全相同。 the implementation of UniqueKey
没有什么神奇之处。 UniqueKey
永远不会与进程中的另一个 UniqueKey
相等,跨进程比较 UniqueKey
是没有意义的。
UniqueKey
不是 UUID/GUID;如果你在它上面运行,比如说,identityHashCode
并保存它,就不能保证其他一些对象不会生成相同的 identityHashCode
值。 (而且 identityHashCode
最终仍然是一个哈希码,这意味着无论如何两个对象可能会生成相同的哈希码。)
(如果您想知道,例如,UniqueKey
是否可以与在此过程中已经创建和垃圾收集的 UniqueKey
相同,那么这就像 Zen koan :没有办法判断,因为比较它之前的实例需要对它的引用,而引用会阻止它被垃圾收集。)