博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java生成不重复的数的方法
阅读量:4624 次
发布时间:2019-06-09

本文共 901 字,大约阅读时间需要 3 分钟。

在开发时要给某些表加上编号,而且编号是唯一的,自己用时间生成了下,觉得可能存在并发情况。所以在网上查了一下,就是随机生成。方法如下:

//方法一(用当前时间精确到毫秒,截取任意几位)

       Date date = new Date();

 SimpleDateFormat sdf = 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。 }

转载于:https://www.cnblogs.com/w1217/p/6136967.html

你可能感兴趣的文章
《鸟哥的Linux私房菜》读书笔记4
查看>>
关于SQL中的ROWNUM问题
查看>>
centos7安装mysql5.6
查看>>
CentOS7上搭建gitlab服务器
查看>>
jquery 插件大全
查看>>
UWP?UWP! - Build 2015有些啥?(2)
查看>>
求100到999之内的水仙花数
查看>>
11_控制线程_多线程同步
查看>>
luogu2085 最小函数值
查看>>
含参变量积分-Leibniz法则
查看>>
多态与重载
查看>>
Mybatis 的输入参数学习
查看>>
(2.7)Mysql之SQL基础——表的操作与查看
查看>>
我不是蜘蛛侠,也不是蝙蝠侠,只是路人甲
查看>>
怎么在阿里云服务器部署多个tomcat
查看>>
Lambda表达式
查看>>
各种排序算法的实现
查看>>
MS CRM 2011 RC中的新特性(8)—数据管理
查看>>
Java-API:java.io百科
查看>>
.NETFramework-Web.Mvc:HttpStatusCodeResult
查看>>