java生成20位唯一健_java 生成20位唯一ID,生成不会重复的20位数字

由于开发的需要,需要生成20位的长度的数字组成的id,首先要满足唯一性,那样的话就需要使用到时间戳来生成,java生成的时间戳是毫秒级的,理论上还是会发生产生相同的id,这是一件很头疼的一件事。

1、解决思路一:

在生成的13位长度的时间戳上面加上3位的自曾数

2017+1492764117143+XXX

代码如下:

package my;

import java.text.SimpleDateFormat;

/**

* 获取20位随机数

* 4位年份+13位时间戳+3位随机数

* @author yuyu

*/

public class GetTime {

public static void main(String[] args) {

//调用生成id方法

System.out.println(getGuid());

}

/**

* 20位末尾的数字id

*/

public static volitale int Guid=100;

public static String getGuid() {

GetTime.Guid+=1;

long now = System.currentTimeMillis();

//获取4位年份数字

SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy");

//获取时间戳

Str

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值