【问题标题】:Adding Uniqe ID (UUID) to an object [closed]向对象添加唯一 ID (UUID) [关闭]
【发布时间】:2014-02-03 23:08:27
【问题描述】:

为了创建一个具有唯一 ID 的客户端对象,我正在考虑这样做(见下文)。是否会为这个新创建的对象分配一个随机生成的字符串并添加到对象中,然后添加到列表中?我以后可以访问它吗? (抱歉无能)。

目前还没有办法测试。

List<Client> newCli = new ArrayList<Client>();

 String uniqueID = UUID.randomUUID().toString();

            Client Client = new Client(name1, name2, addrName, addrNumber, post, city, uniqueID);


            newCli.add(Client);

Client 指的是带有变量的类和带有参数的构造函数,如下所示。

非常感谢!

【问题讨论】:

  • 请完善您的问题,因为不清楚您到底在问什么。

标签: java object arraylist uuid bank


【解决方案1】:

很有可能起作用。请注意,UUID 不一定是唯一的,只是很有可能,如果您正在生成类型 4 UUID,那么发生冲突的可能性非常小但非零。当多个系统同时生成 UUID 时,根据名称(可能是变量的规范表示)或包含有关生成计算机的信息生成 UUID 有助于减少发生冲突的机会。

【讨论】:

    【解决方案2】:

    我同意 chrylis 的观点,即在您将变量名称更改为“client”之后,这种方法应该在绝大多数情况下都有效,这样就不会与 Client 类名称混淆。

    另一种方法是使用静态变量,它是 AtomicLong,初始化为零或数据库中的某个值。每次需要 uniqueId 时,请使用 incrementAndGet() 自动递增变量并返回值,您将使用该值作为 uniqueId。

    当使用 Hibernate/JPA 并且需要在每条新记录上使用 uniqueId 时,我只需将 id 列设置为自动增量并让数据库处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多