颤振中的 UniqueKey 的范围是什么?

时间:2021-05-28 03:43:43

标签: flutter dart statefulwidget

我是一个独特的人。我的意思是我与这个世界上的所有其他人不同。当我在 flutter 中创建一个 UniqueKey 时,它与其他所有的世界有何不同?

1 个答案:

答案 0 :(得分:1)

UniqueKey 的唯一性与每个实例化对象都是一个单独的对象完全相同。 the implementation of UniqueKey 没有什么神奇之处。 UniqueKey 永远不会与进程中的另一个 UniqueKey 相等,跨进程比较 UniqueKey 是没有意义的。

UniqueKey 不是 UUID/GUID;如果你在它上面运行,比如说,identityHashCode 并保存它,就不能保证其他一些对象不会生成相同的 identityHashCode 值。 (而且 identityHashCode 最终仍然是一个哈希码,这意味着无论如何两个对象可能会生成相同的哈希码。)

(如果您想知道,例如,UniqueKey 是否可以与在此过程中已经创建和垃圾收集的 UniqueKey 相同,那么这就像 Zen koan :没有办法判断,因为比较它之前的实例需要对它的引用,而引用会阻止它被垃圾收集。)