代码片段(1)[全屏查看所有代码]
1.[代码]Java生成序号跳至package com.wx.utils.tool;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * 生成序号 * @author feizi * @time 2014-11-5下午5:27:23 */public class CreateSerialNo {private static Map<String,String> map=new HashMap<String, String>(); private static String STATNUM=”000001″;/** * 获取年月日 * @return */public String getTime(){Calendar cal = Calendar.getInstance();cal.setTime(new Date());DateFormat df = new SimpleDateFormat(“yyyyMMdd”);return df.format(cal.getTime());}/** * 判断序号是否到了最后一个 * @param s * @return */public String getLastSixNum(String s){ String rs=s; int i=Integer.parseInt(rs); i+=1; rs=””+i; for (int j = rs.length(); j <6; j++) {//rs=”0″+rs;//直接使用StringUtils类的leftPad方法处理补零rs = StringUtils.leftPad(rs,j+1, “0”);}return rs; }/** * 产生不重复的号码 加锁 * @return */public synchronized String getNum(){String yearAMon = getTime();String last6Num=map.get(yearAMon);if(last6Num==null){map.put(yearAMon,STATNUM);}else{map.put(yearAMon,getLastSixNum(last6Num));}return yearAMon+map.get(yearAMon);}/** * main测试 * @param args */public static void main(String[] args) {CreateSerialNo t= new CreateSerialNo();for (int i = 0; i < 200; i++) {System.out.println(t.getNum());}}}
开源中国-程序员在线工具:
相关的代码(2178)0回/147阅[Java]Java 删除数组中的重复元素3小时前 By 鉴客0回/113阅[Java]截取带汉字的字符串14小时前 By JarCode0回/101阅[Java]xml追加、修改、生成(有待改进)17小时前 By 王晨旭2回/205阅[Java] MyEclipse(8.0,7.5,7.0,6.5,6.0…)的注册码生成代码19小时前 By 宁静致远15回/217阅[Java]文件分割合并1天前 By dimdim0回/104阅[Java]Android解析apk图标/名称并创建快捷方式2天前 By 亓斌哥哥2回/1302阅[Java]Java 比较安全的随机种子产生器5天前 By 梁金堂0回/161阅[Java]动物搭配(泛型)6天前 By JarCode0回/216阅[Java]Java 下 ResultSet 转 Model6天前 By 一个桔子4回/789阅[Java]数独解法Java实现1周前 By 老法显示所有»
网友评论(22)
1楼:低调也忧伤 发表于 2014-11-12 12:56
非常不错的分享,超过99999之后的位数会发生变化 那怎么控制
2楼:hu1991die 发表于 2014-11-12 18:23
引用来自“低调也忧伤”的评论非常不错的分享,超过99999之后的位数会发生变化 那怎么控制
额。。那个倒还没怎么考虑,主要考虑到每天生成的,因为感觉每天最大999999已经够了。
3楼:bobdog1986 发表于 2014-11-14 16:54
取模吧
4楼:winnie_tour 发表于 2014-11-14 19:04
多个jvm怎么办?
5楼:namefree 发表于 2014-11-15 23:29
小伙子还年轻
6楼:ec_white 发表于 2014-11-17 14:20
引用来自“namefree”的评论小伙子还年轻
+1
7楼:平安北京 发表于 2014-11-17 16:51
引用来自“namefree”的评论小伙子还年轻
引用来自“ec_white”的评论+1
+1
8楼:可爱的阿呆 发表于 2014-11-18 09:02
引用来自“namefree”的评论小伙子还年轻
引用来自“ec_white”的评论+1
引用来自“平安北京”的评论+1
+1
9楼:happut 发表于 2014-11-18 11:17
StringUtils有个leftPad方法 也可以用来处理补零的
10楼:游客 发表于 2014-11-18 11:43
引用来自“namefree”的评论小伙子还年轻
引用来自“ec_white”的评论+1
引用来自“平安北京”的评论+1
引用来自“可爱的阿呆”的评论+1
+2
11楼:hu1991die 发表于 2014-11-18 16:07
值不值得,真是不足为外人道,自己心里有数就行。