全球唯一码生成器(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,);
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"));
}
}