分享

java 唯一ID生成

 昵称21365845 2015-07-16

     最近一个项目里面涉及业务流水唯一ID(要求数字字符串)的生成,原来采用的方式是时间戳+两位随机码,后来发现数据中也会有重复的数据,现在暂用的方法是匹配两次的编码是否相同,相同的话追加一个自增长的数字,代码如下(已省略业务编码部分):

private static String beforeBh;
private static String beforeNum;

public static String codeGenerate() {
  Date now = new Date();
  String behind = now.getTime()+"";
  if(beforeBh==null) {
   beforeBh = behind;
  } else if(beforeBh.equals(behind)) {
   behind = behind +beforeNum;
   beforeNum++;
  } else {
   beforeBh = behind;
   beforeNum = 0;
  }
  return behind;
 }

可以先不考虑编码长度,不过长度越短越好,希望各位大神给指点指点或者提出更好的方法

---------------问题补充---------------

@jiqingluoye:UUID转成的数字长度会在17~20之间浮动,不是稳定的 最好提供下10位长度的思路 这是私人问题,希望各位喷友给出给力方案后再来喷,谢谢(11个月前)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多