《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个java随机数据生成器——common-random。

java接口数据生成器(简单易用的随机数据生成器)(1)

简单易用的随机数据生成器。一般用于开发和测试阶段的数据填充、模拟、仿真研究、演示等场景。可以集成到各种类型的java项目中使用。特点:

依赖

<dependency> <groupId>com.apifan.common</groupId> <artifactId>common-random</artifactId> <version>1.0.17</version> </dependency>

implementation 'com.apifan.common:common-random:1.0.17'

支持的随机数据类型

日期时间

地理

互联网

个人信息

教育

金融

体育

其它

用法

//生成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

,