Java UUID.clockSequence() 函数及代码示例

获取当前 UUID 关联的时钟序列值.

定义

public int clockSequence()

返回值

返回当前 UUID 的时钟序列.

抛出的异常

UnsupportedOperationException 若当前 UUID 不是版本为 1 的 UUID

说明

这种 14 位时钟序列值由当前 UUID 的时钟序列字段构成. 时钟序列字段用于保证基于时间的 UUID 中的时间唯一性.

clockSequence 值仅在基于时间的 UUID 中有意义, 其版本类型为 1. 如果该 UUID 不是基于时间的 UUID, 则此方法将抛出 UnsupportedOperationException.

示例

使用 clockSequence() 方法获取当前 UUID 时钟序列的示例

package com.yi21.UUID;

import java.util.UUID;

public class Yi21UUIDClockSequence {

    public static <T> void main(String[] args) {
        
        UUID u = UUID.fromString("31453221-8cc0-11bd-e23e-20f46e3ef14d");
        showClockSequence(u);

        u = UUID.randomUUID();
        showClockSequence(u);

    }

    private static void showClockSequence(UUID u) {
        if (u.version() == 1) {
            System.out.println("UUID 的时钟序列值: " + u.clockSequence());
        } else {
            System.out.println("不是基于时间的 UUID");
        }
    }

}

执行结果为 :

UUID 的时钟序列值: 8766
不是基于时间的 UUID