-2

java.util.UUID适用于 Java 中的类吗?也就是说,我有一个需要唯一 id 的类,这样每次我在 main 方法中构造该类的对象时,它都会有一个唯一的 ID 号。

构造函数可能看起来像这样:

class flight{
        private UUID id;

        public void flight(){
           id = UUID.randomUUID();
        }
}

主方法调用可能看起来像这样:

public static void main(String[] args){
    flight[] allflights = new flight[100];
    flight tempFlight;

    for(int i=0; i<100; i++){
        tempFlight = new flight()
        allflights[i] = tempFlight;
    }

这是否会为航班数组中的所有航班生成一个唯一 ID?

4

3 回答 3

3

正如文档所解释的,这确实会为每个对象生成一个唯一的 id:

静态工厂检索类型 4(伪随机生成)UUID。它UUID是使用加密强的伪随机数生成器生成的。

正如Vidkor在评论中解释的那样,尽管有发生碰撞的可能性

于 2012-08-22T06:58:52.487 回答
2

是的,这就是 UUID 的用途。每次调用 randomUUID() 都会得到一个新的随机 UUID;UUID 是一个 128 位的值。

所以理论上你在使用随机 UUID 时可能会发生冲突,但正如它所说的那样,使用了加密强的随机生成器,我认为你不需要担心这种可能性。

于 2012-08-22T07:00:57.150 回答
-1

你的问题的答案就在你的问题中。

运行打印 UUID 的代码,您会发现,添加 有什么难的System.out.println

public static void main(String[] args){ flight[] allflights = new flight[100]; 飞行温度飞行;

for(int i=0; i<100; i++){
    tempFlight = new flight()
    allflights[i] = tempFlight;
    System.out.println(tempFlight.getId());
}
于 2012-08-22T06:56:02.120 回答