全球唯一码生成器(GUID)

关键字:全球唯一码生成器(GUID)

附件是:全球唯一码生成器(GUID)相关实现,并提供一些静态方法对大小写及格式化进行操作。


下面是具体实现:


package javac.util;
import java.util.UUID;

/**
* @author 赵士杰
*
*/
public class RandomGUID {

private static String M_GUID_DEFAULT_FORMAT = "-";

public RandomGUID() {}


private static String randomUUID(){
return UUID.randomUUID().toString();
}

/**
* 作用:随机获取GUID格式的全球唯一码
*
* param 是否格式化
*
* @return GUID格式的全球唯一码(全部小写)
*/
public static String randomUUIDFromLowerCase(boolean format){
return format(randomUUID(),false,format);
}



/**
* 作用:随机获取GUID格式的全球唯一码
*
* param 是否格式化
*
* @return GUID格式的全球唯一码(全部大写)
*/
public static String randomUUIDFromUpperCace(boolean format){
return format(randomUUID(),true,format);
}

private static String format(String GUID,boolean upperCace,boolean format){
String result = GUID;
if(upperCace)
result = convertToUpperCace(GUID);
if(!format)
result = removeFormat(result);
return result;
}

/**
* 作用:转换GUID字符串中字符全部为大写
*
* @param GUID
* @return 大写GUID字符串
*/
public static String convertToUpperCace(String GUID) {
return GUID.toUpperCase();
}


/**
* 作用:转换GUID字符串中字符全部为小写
*
* @param GUID
* @return 小写GUID字符串
*/
public static String convertToLowerCase(String GUID) {
return GUID.toLowerCase();
}




/**
* 作用:删除GUID的格式
*
* @param GUID
* @return删除格式后的GUID字符串(如:976B65DF0CF6A8D153B4D1D1E55A5854)
*/
public static String removeFormat(String GUID) {
return GUID.replace(M_GUID_DEFAULT_FORMAT, "");
}



/**
* 作用:格式化GUID字符串
*
* @param GUID
* @return 格式化后的字符串(如:976B65DF-0CF6-A8D1-53B4-D1D1E55A5854)
*/
public static String format(String GUID) {
if (GUID.indexOf(M_GUID_DEFAULT_FORMAT) > 0) {
return GUID;
}
return setFormat(GUID);
}




private static String setFormat(String GUID){
StringBuilder sb = new StringBuilder(64);
sb.append(GUID.substring(0, 8));
sb.append(M_GUID_DEFAULT_FORMAT);
sb.append(GUID.substring(8, 12));
sb.append(M_GUID_DEFAULT_FORMAT);
sb.append(GUID.substring(12, 16));
sb.append(M_GUID_DEFAULT_FORMAT);
sb.append(GUID.substring(16, 20));
sb.append(M_GUID_DEFAULT_FORMAT);
sb.append(GUID.substring(20));
return sb.toString();
}




public static void main(String args[]) {
// System.out.println(RandomGUID.randomUUIDFromUpperCace(false));
// String uniqueID = RandomGUID.randomUUID();
// System.out.println(RandomGUID.format("AA4F026F93DE4086A9889F8A1906C925"));
// System.out.println(RandomGUID.removeFormat("AA4F026F93DE4086A9889F8A1906C925"));
// System.out.println(RandomGUID.convertToUpperCace("AA4F026F93DE4086A9889F8A1906C925"));
System.out.println(RandomGUID.convertToLowerCase("AA4F026F93DE4086A9889F8A1906C925"));

}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值