前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java实现的一个编号生成器工具类——5种方法

Java实现的一个编号生成器工具类——5种方法

作者头像
用户1289394
发布2018-02-27 15:12:46
4.7K0
发布2018-02-27 15:12:46
举报
文章被收录于专栏:Java学习网Java学习网

这个类可以直接用在项目开发中,直接上代码:

import java.io.Serializable;
import java.util.Random;
import java.util.UUID;
/**
* 编号 生成器
* @author Java自学通
*
*/
public final class MyIncrementGenerator {
private MyIncrementGenerator() {
}
/**
* 得到32位唯一的UUID
*
* @return 唯一编号
*/
public static Serializable uuid() {
UUID uid = UUID.randomUUID();
return uid.toString().replace("-", "");
}
/**
* 根据长度得到唯一编号
*
* @param length
* 长度
* @return 唯一编号
*/
public static Serializable uuid(int length) {
UUID uid = UUID.randomUUID();
String temp = uid.toString().replace("-", "");
if (length > 0 && length < temp.length()) {
temp = temp.substring(temp.length() - length);
}
return temp;
}
/**
* 根据长度得到随机字符串,一位字母一位数字
*
* @param length
* 长度
* @return 字符串
*/
public static String unique(int length) {
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
if (i % 2 == 0) {
str.append(getRandom(97, 122));
} else {
str.append(getRandom(48, 57));
}
}
return str.toString();
}
/**
* 得到纯数字编号
*
* @param length
* 长度
* @return
*/
public static String number(int length) {
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
if (i == 0)
str.append(getRandom(49, 57));
else
str.append(getRandom(48, 57));
}
return str.toString();
}
/**
* 根据开始和结束大小得到单一字符
*
* @param begin
* 开始值
* @param end
* 结束值
* @return 单一字符
*/
private static String getRandom(int begin, int end) {
String str = "";
Random rd = new Random();
int number = 0;
while (str.length() == 0) {
number = rd.nextInt(end + 1);
if (number >= begin && number <= end)
str = String.valueOf((char) number);
}
return str;
}
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档