日期:2014-05-18  浏览次数:21130 次

java如何生成一个一天内不会重复的20位流水号(急) 在线等.....
java如何生成一个一天内不会重复的20位流水号(急)   在线等.....

------解决方案--------------------
方法比较多啊
最简单就是累加
还可以使用得到时间生成编号,不过看起来没有规律。

还可以用组合编码
比如
GF200708290001
后面的 0001 进行累加就可以了
不过为了达到累加的功能,用int型了
然后 字符串 + 字符串 + int编号,就OK了

------解决方案--------------------
对时间进行hash
------解决方案--------------------
每天开始时,设置个初始值,然后累加
------解决方案--------------------
累加是个好方法 嘿嘿····
------解决方案--------------------
我们当时是用的数据库,产生一个Sequence号
LZ可以参考一下
------解决方案--------------------
用hash保存时间 到毫秒及一般不会重复 即使重复 hash也会报错 注意处理
------解决方案--------------------
年月日时分秒+几位随机数
------解决方案--------------------
Random random = new Random();
String name = System.currentTimeMillis() + String.valueOf( (Math.abs(random.nextLong())) );
------解决方案--------------------
20070830143745000001
4位年份+2位月份+2位日期+2位小时+2位分钟+2位秒数+6位流水号或6位随机数
一共20位,绝对不可能有重复的产生。