首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

念弄一个自动分配编号,求高手

2013-07-08 
想弄一个自动分配编号,求高手这个编号必须是唯一的,可以根据日期,比如今天是2013年6月29日那分配一个编号

想弄一个自动分配编号,求高手
这个编号必须是唯一的,可以根据日期,比如今天是2013年6月29日
那分配一个编号是2013062901
分配的第二个就是2013062902
依次这样 编号 分配
[解决办法]


private static int temp = 0;
public static String getNum(){
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
String date = df.format(new Date());//获取当前时间yyyymmdd格式
String str ;
if(temp<10){
str = "0"+temp;
}else{
str = ""+temp;
}
String num = date + str;
temp ++;
return num;
}


[解决办法]
自增功能使用atom类。


public class Test {
private static AtomicInteger num = new AtomicInteger(1);
    public static void main(String[] args) throws Exception {
    Integer year = Calendar.getInstance().get(Calendar.YEAR);
    //月份从0开始
    Integer month = Calendar.getInstance().get(Calendar.MONTH) + 1;
    String monthStr = (month < 10)?"0"+month.toString():month.toString();
    Integer day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
    String dayStr = (day < 10)?"0"+day.toString():day.toString();
    String time = year.toString() + monthStr + dayStr;
       
    //输出100个
       while(num.intValue() <= 100){
       Integer  i = num.getAndIncrement();
       System.out.println(time + i.toString());
       }
    }
}

热点排行