简单易用的随机数据生成器。一般用于开发和测试阶段的数据填充、模拟、仿真研究、演示等场景。可以集成到各种类型的java项目中使用。特点:
非常轻量级(不到1M),容易集成,无需过多第三方依赖简单方便,无需编写冗余代码生成的随机数据比较接近真实数据依赖Maven<dependency> <groupId>com.apifan.common</groupId> <artifactId>common-random</artifactId> <version>1.0.17</version></dependency>
Gradle
implementation 'com.apifan.common:common-random:1.0.17'
支持的随机数据类型
日期时间

地理
随机省份和城市随机国家或地区(基于ISO 3166-1标准)虚拟经纬度随机邮编虚拟联系地址随机固话区号虚拟固话号码互联网
虚拟邮箱地址虚拟域名虚拟静态URL虚拟IPv4地址虚拟IPv6地址虚拟网卡MAC地址随机强密码随机User-Agent随机端口号虚拟app名称虚拟app bundle id虚拟app版本号个人信息
虚拟中文人名虚拟英文人名虚拟身份证号码虚拟网络昵称虚拟拼音网络昵称虚拟手机号码虚拟QQ号码虚拟非主流QQ网名随机民族名称教育
随机学历虚拟小学名称、年级、班级虚拟中学名称、年级、班级随机高校及专业名称金融
随机股票名称+股票代码虚拟日K线数据随机开放式基金名称+基金代码随机货币信息虚拟银行卡(借记卡及信用卡)号码体育
随机六大足球联赛球队名称随机篮球联赛球队名称随机国家及地区的足球代表队名称其它
随机数字随机汉字随机成语随机唐诗虚拟车牌号随机热门手机型号随机RGB颜色值随机HEX颜色值随机中文短句随机英文文本虚拟企业及部门名称随机营销号文案随机ISBN随机EAN商品编码随机行业分类随机统一社会信用代码数据生成工具用法随机数字//生成1个1~101(不含)之间的随机整数int a = NumberSource.getInstance().randomInt(1, 101);//生成8个1~101(不含)之间的随机整数int[] b = NumberSource.getInstance().randomInt(1, 101, 8);//生成1个10000000000~20000000001(不含)之间的随机长整数long c = NumberSource.getInstance().randomLong(10000000000L, 20000000001L);//生成9个10000000000~20000000001(不含)之间的随机长整数long[] d = NumberSource.getInstance().randomLong(10000000000L, 20000000001L, 9);//生成1个0.01~0.51(不含)之间的随机整数double e = NumberSource.getInstance().randomDouble(0.01D, 0.51D);//生成8个0.01~0.51(不含)之间的随机整数double[] f = NumberSource.getInstance().randomDouble(0.01D, 0.51D, 8);//生成随机百分比BigDecimal percent = NumberSource.getInstance().randomPercent();
生成1个1~101(不含)之间的随机整数:47生成8个1~101(不含)之间的随机整数:25,55,75,34,70,2,38,54,生成1个10000000000~20000000001(不含)之间的随机长整数:17191638640生成3个10000000000~20000000001(不含)之间的随机长整数:13450274770,10095565957,12148932674,生成1个0.01~0.51(不含)之间的随机整数:0.24144667734933373生成3个0.01~0.51(不含)之间的随机整数:0.09163703451179427,0.18277293726405042,0.3161348700949757,生成随机百分比:0.2715
随机人名
//生成1个随机中文人名(性别随机)String k = PersonInfoSource.getInstance().randomChineseName();//生成1个随机男性中文人名String k2 = PersonInfoSource.getInstance().randomMaleChineseName();//生成1个随机女性中文人名String k3 = PersonInfoSource.getInstance().randomFemaleChineseName();//生成1个随机英文人名String l = PersonInfoSource.getInstance().randomEnglishName();
生成1个随机中文人名(性别随机):万春生成1个随机男性中文人名:巫民石生成1个随机女性中文人名:龚苑生成1个随机英文人名:Mariko Groder生成1个随机中文人名(性别随机):苏健田生成1个随机男性中文人名:郭立生成1个随机女性中文人名:苟苑生成1个随机英文人名:Argelia Matejka
随机生成符合规则的虚拟身份证号码
//生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,出生日期在1990年11月11日至1999年12月12日之间LocalDate beginDate = LocalDate.of(1990,11,11);LocalDate endDate = LocalDate.of(1999,12,12); String id1 = PersonInfoSource.getInstance().randomMaleIdCard("广西壮族自治区", beginDate, endDate);//生成1个随机的虚拟身份证号码,地区为河北省,女性,出生日期在2001年1月11日至2008年2月22日之间LocalDate beginDate2 = LocalDate.of(2001,1,11);LocalDate endDate2 = LocalDate.of(2008,2,22);String id2 = PersonInfoSource.getInstance().randomFemaleIdCard("河北省", beginDate2, endDate2);//生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,年龄为18岁String id3 = PersonInfoSource.getInstance().randomMaleIdCard("广西壮族自治区", 18);//生成1个随机的虚拟身份证号码,地区为河北省,女性,年龄为19岁String id4 = PersonInfoSource.getInstance().randomFemaleIdCard("河北省", 19);
生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,出生日期在1990年11月11日至1999年12月12日之间:450305199609110414生成1个随机的虚拟身份证号码,地区为河北省,女性,出生日期在2001年1月11日至2008年2月22日之间:130407200201256603生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,年龄为18岁:450700200412270815生成1个随机的虚拟身份证号码,地区为河北省,女性,年龄为19岁:131123200301076583生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,出生日期在1990年11月11日至1999年12月12日之间:450903199211158696生成1个随机的虚拟身份证号码,地区为河北省,女性,出生日期在2001年1月11日至2008年2月22日之间:130306200410286268生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,年龄为18岁:450602200406119876生成1个随机的虚拟身份证号码,地区为河北省,女性,年龄为19岁:130982200302185581
-END-
开源协议:Apache2.0
开源地址:https://github.com/yindz/common-random