起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2112|回复: 2

[分享] JAVA UUID 生成

[复制链接]

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
发表于 2016-10-6 20:28:18 | 显示全部楼层 |阅读模式
JDK1.5
如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
java.util.UUID,直接调用即可.
UUID uuid  =  UUID.randomUUID();
String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错。。   

UUID是由一个十六位的数字组成,表现出来的形式例如
550E8400-E29B-11D4-A716-446655440000   

http://www.cnblogs.com/jdonson/archive/2009/07/22/1528466.html

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
 楼主| 发表于 2016-10-6 20:29:27 | 显示全部楼层
去除横线的有个函数,不知道是哪个
回复 支持 反对

使用道具 举报

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
 楼主| 发表于 2016-10-6 20:30:50 | 显示全部楼层
java实现随机生成UUID

public class IDGenerator {
   
  private static long num=0;
   
  /**
   * 随机生成UUID
   * @return
   */
  public static synchronized String getUUID(){
    UUID uuid=UUID.randomUUID();
    String str = uuid.toString();
    String uuidStr=str.replace("-", "");
    return uuidStr;
  }
  /**
   * 根据字符串生成固定UUID
   * @param name
   * @return
   */
  public static synchronized String getUUID(String name){
    UUID uuid=UUID.nameUUIDFromBytes(name.getBytes());
    String str = uuid.toString();
    String uuidStr=str.replace("-", "");
    return uuidStr;
  }
  /**
   * 根据日期生成长整型id
   * @param args
   */
  public static synchronized long getLongId(){
    String date=DateUtil.getDate2FormatString(new Date(), "yyyyMMddHHmmssS");
    System.out.println("原始id="+date);
    if(num>=99) num=0l;
    ++num;
    if(num<10) {
      date=date+00+num;
    }else{
      date+=num;
    }
    return Long.valueOf(date);
  }
   
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-18 15:30 , Processed in 0.078702 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表