Java生成不重复的数的方法(精确到毫秒级别)
2016-01-29 23:29
471 查看
在开发时要给某些表加上编号,而且编号是唯一的,自己用时间生成了下,觉得可能存在并发情况。所以在网上查了一下,就是随机生成。方法如下:
//方法一(用当前时间精确到毫秒,截取任意几位) Date date = new Date(); SimpleDateFormatsdf = new SimpleDateFormat("yyyyMMddhhmmssSS"); String formDate =sdf.format(date); System.out.println(formDate); String no = formDate.substring(10); System.out.println(no); //方法二(随机生成) int[] array ={0,1,2,3,4,5,6,7,8,9}; Random rand = new Random(); for (int i = 10; i > 1; i--) { int index =rand.nextInt(i); int tmp =array[index]; array[index] = array[i - 1]; array[i - 1] = tmp; } int result = 0; for(int i = 0; i < 6; i++) result = result * 10 + array[i]; System.out.println(result); //方法三:利用时间戳得到8位不重复的随机数 long nowDate = new Date().getTime(); String sid = Integer.toHexString((int)nowDate); System.out.println(sid); /*其中:java.lang.Integer.toHexString() 方法返回为无符号整数基数为16的整 */参数的字符串表示形式。以下字符作为十六进制数字:0123456789ABCDEF。 }
备忘:YYYY-mm-dd HH:MM:SS部分解释 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM 月份的完整名称,在 MonthNames 中定义。 y 不包含纪元的年份。不具有前导零。 yy 不包含纪元的年份。具有前导零。 yyyy 包括纪元的四位数的年份。 gg 时期或纪元。 h 12 小时制的小时。一位数的小时数没有前导零。 hh 12 小时制的小时。一位数的小时数有前导零。 H 24 小时制的小时。一位数的小时数没有前导零。 HH 24 小时制的小时。一位数的小时数有前导零。 m 分钟。一位数的分钟数没有前导零。 mm 分钟。一位数的分钟数有一个前导零。 s 秒。一位数的秒数没有前导零。 ss 秒。一位数的秒数有一个前导零。 f 秒的小数精度为一位。其余数字被截断。 如果时间为2013-05-20 14:02:30 yyyy-MM-dd HH:mm:ss ;如果格式为yyyy-MM-dd hh:mm:ss 则显示为2013-05-20 02:02:30
相关文章推荐
- 利用Spring中的HtmlUtils.htmlEscape(input)过滤html
- springmvc配合jsp/ajax/json,实现简单的jsp遍历后台数据
- JAVA移位运算符
- java web 快速开发工具-捷兔
- (学习笔记) eclipse中自动生成作者、日期等注释
- java对象占多少内存
- Java异常封装(自己定义错误码和描述,附源码)
- Java异常封装(自己定义错误码和描述,附源码)
- Java异常封装(自己定义错误码和描述,附源码)
- Java异常封装(自己定义错误码和描述,附源码)
- Java学习笔记(一)
- springmvc 传递和接收数组参数
- Java多态实例
- IceBox java 入门例子
- Spring security4.1.4 如何实现api接口和页面的双重拦截
- eclipse中的插件安装(svn、maven、jetty等)
- JavaSE入门学习18:Java面向对象之多态
- Spring MVC+Hibernate+Spring框架整合
- Intellij IDEA启动eclipse link source(link )项目(项目依赖)引用其他项目的类
- JAVA中AES加密和解密