100个Java工具类之47:唯一标识符UUID
UUID,通用唯一识别码。
因为它是根据时间戳和当前机器的物理地址生成的,因此它几乎不会重复。
在java中,其主要作用是生成一个唯一标识符。常常被当做数据库表主键使用。
根据java.util.UUID的源码显示:它提供了三个生成UUID的方法。
下面,主要介绍这三种生成UUID的方式。
一、无参生成
我们可以看到,生成的UUID是32位数字或字母,及4个连接符“-”构成。格式是:“8-4-4-4-12”,
UUID uuid = UUID.randomUUID();
输出:3ae9b097-39d1-4187-8717-757ef8a394a7
二、根据UUID格式的字符串,生成UUID
说实话,笔者对于这个方法的看法是,太鸡肋了,生成后的新UUID和旧UUID字符串是一模一样的,那这个方法的作用是什么呢?仅仅是为了格式转换么?
UUID uuid = UUID.fromString("3ae9b097-39d1-4187-8717-757ef8a394a7");
输出:3ae9b097-39d1-4187-8717-757ef8a394a7
三、根据字节数组生成UUID
看到这个方法时,笔者的第一想法是:能不能拿来做静态加密?
UUID uuid = UUID.nameUUIDFromBytes("张三吃西瓜".getBytes());
输出:fa3884d3-855a-37c9-affc-3cf65344b6a0
以上便是本篇文章的全部内容,欢迎大家指出问题。