《開源精選》是我們分享Github、Gitee等開源社區中優質項目的欄目,包括技術、學習、實用與各種有趣的内容。本期推薦的是一個java随機數據生成器——common-random。
簡單易用的随機數據生成器。一般用于開發和測試階段的數據填充、模拟、仿真研究、演示等場景。可以集成到各種類型的java項目中使用。特點:
非常輕量級(不到1M),容易集成,無需過多第三方依賴簡單方便,無需編寫冗餘代碼生成的随機數據比較接近真實數據依賴Maven dependency groupIdcom.apifan.common/groupId artifactIdcommon-random/artifactId version1.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(廣西壯族自治區 //生成1個随機的虛拟身份證号碼,地區為河北省,女性,年齡為19歲 String id4 = PersonInfoSource.getInstance().randomFemaleIdCard(河北省
生成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
開源地址:htt