获取不同长度的UUID[通俗易懂]

2022-09-22 10:48:41 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

在公司,有时候让处理一些命名规则时,要使用一个唯一标识,还是十六进制的,需要多少位看领导心情.

怎么做呢?你别说用随机产生组合的方法啊?虽然那个可行,但是我觉得难受.知道有UUID这个玩意儿之后,那就好办了.

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的重要部分。

其实用UUID获取指定长度的唯一标识码还是比较方便的.所以,就复制粘贴写了个工具,获取4/8/12/16/20/24/36位的UUID值.就是生成一个UUID,然后截取作为返回值就ok了. 各位大神,我这个看着是比较low,见笑了.

代码语言:javascript复制
package com.crcm.common.utils;

import java.util.UUID;
/**产生的UUID有这么长,通过截取和替换"-"后得到不同长度的UUID * 056085ce-8e46-492a-bcec-9a4d3690ce83 * 8   4   4   4   12 * @author 王俊 * @since 2017.07.21 * */
public class UUIDUtil { 
   
    public static void main(String[] args) {
        System.out.println(get4UUID());
        System.out.println(get8UUID());
        System.out.println(get12UUID());
        System.out.println(get16UUID());
        System.out.println(get20UUID());
        System.out.println(get24UUID());
        System.out.println(get32UUID());
    }
    /** * 获得4个长度的十六进制的UUID * @return UUID */
    public static String get4UUID(){
        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[1];
        }
    /** * 获得8个长度的十六进制的UUID * @return UUID */
    public static String get8UUID(){
        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0];
    }
    /** * 获得12个长度的十六进制的UUID * @return UUID */
    public static String get12UUID(){
        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0] idd[1];
    }
    /** * 获得16个长度的十六进制的UUID * @return UUID */
    public static String get16UUID(){

        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0] idd[1] idd[2];
    }
    /** * 获得20个长度的十六进制的UUID * @return UUID */
    public static String get20UUID(){

        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0] idd[1] idd[2] idd[3];
    }
    /** * 获得24个长度的十六进制的UUID * @return UUID */
    public static String get24UUID(){
        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0] idd[1] idd[4];
    }
    /** * 获得32个长度的十六进制的UUID * @return UUID */
    public static String get32UUID(){
        UUID id=UUID.randomUUID();
        String[] idd=id.toString().split("-");
        return idd[0] idd[1] idd[2] idd[3] idd[4];
    }

}

有什么好的思路,欢迎交流

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169203.html原文链接:https://javaforall.cn

0 人点赞