gpt4 book ai didi

Java:如何提供唯一的 ID 并重用它们?

转载 作者:行者123 更新时间:2023-11-29 10:01:43 25 4
gpt4 key购买 nike

我正在实现一个简单的类来为某些对象提供 id,如下所示:

class idObject
{
private static long next=0;
private long id;

idObject()
{
id=next;
next = next +1;
}

}

并从中派生出我需要我的 ID 的所有类。该程序运行时间很长,并且创建了很多对象。这样一来,恐怕接下来会泛滥成灾。这会导致非唯一 ID。有些对象存活时间很长,但大多数对象在某个时候被删除了。但是,我想保持 ID 的唯一性。

我的问题是,是否有一种简单的方法来重用已删除对象的 ID?我的想法是创建一个免费 ID 列表,并在对象死亡时添加它的 ID。本来我是一个C++程序员,所以就想到了使用析构函数,这在Java中显然是没有的。在这种情况下,finalize() 方法是正确的选择吗?

最好的问候

最佳答案

如果您担心用完 ID,可以使用 UUID。 UUID 有 16^32 种可能的组合,并且是随机生成的。如果您想绝对确定您不会与现有 ID 发生冲突,您可以始终保留已创建 ID 的注册表并确保它不存在。

关于Java:如何提供唯一的 ID 并重用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24392123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com