大家好,又见面了,我是你们的朋友全栈君。
在公司,有时候让处理一些命名规则时,要使用一个唯一标识,还是十六进制的,需要多少位看领导心情.
怎么做呢?你别说用随机产生组合的方法啊?虽然那个可行,但是我觉得难受.知道有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