首页 / JAVA / Java之随机生成各种类型的数据举例
Java之随机生成各种类型的数据举例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java之随机生成各种类型的数据举例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4151字,纯文字阅读大概需要6分钟。
内容图文
![Java之随机生成各种类型的数据举例](/upload/InfoBanner/zyjiaocheng/623/b253e15900ff46ddabb6f85e55ae6e43.jpg)
源码举例:
package com.gxr.imybatisplus.utils; import com.gxr.imybatisplus.entity.TSampleE; import java.math.BigDecimal; import java.sql.Date; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.UUID; import java.util.logging.Logger; public class GenObject { private static final Logger logger = Logger.getLogger(GenObject.class.getName()); public static final String HANZI = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方"; public static final String GENDEL = "男女"; public static final String[] SCHOOLS = {"清华大学", "北京大学", "南京大学", "上海交通大学", "东南大学", "华中科技大学", "武汉大学"}; public static final String[] JOBS = {"商人", "学生", "文职人员", "程序员", "科学家", "医生", "律师", "司机"}; public static final String REMARK = "随着公司项目的持续增多、实施工作持续推进,同时也暴露出很多数据从哪出、数据如何用等问题," + "各项目都在按需定制功能和对接数据,这就给公司带来很大的支出成本"; public static TSampleE genSampleObj(int id, String tableName) { TSampleE sample = new TSampleE(); sample.setTableName(tableName); sample.setId(id); sample.setName(getRandomString(HANZI, 3)); sample.setGender(getRandomString(GENDEL, 1)); // sample.setHeight(175.56F); sample.setHeight(getRandomFloat(150F, 200F)); // sample.setWeight(67.57); sample.setWeight(getRandomDouble(50, 120, 2)); sample.setAge(getRandomInt(16, 100)); int ageTime = sample.getAge() * 365 * 24 * 360; // int类型的数据范围有限 Date date = new Date((System.currentTimeMillis() / 1000 / 10 - ageTime) * 1000 * 10); sample.setBrithday(date); // sample.setSchool("清华大学"); sample.setSchool(getRandomItem(SCHOOLS)); // sample.setJob("商人"); sample.setJob(getRandomItem(JOBS)); sample.setRemarks(getUUID()); sample.setCreateTime(new Timestamp(System.currentTimeMillis())); System.out.println("-- 生成数据: " + sample.toString()); return sample; } public static List<TSampleE> getSampleList(int startNum, int num, String tableName) { List<TSampleE> list = new ArrayList<>(); for (int i = 0; i < num; i++) { TSampleE sample = genSampleObj(startNum + i, tableName); list.add(sample); } return list; } /** * 根据字符串随机获取定长字符串 */ public static String getRandomString(String str, int length) { // String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // String str = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(str.length()); sb.append(str.charAt(number)); } return sb.toString(); } /** * 在字符串数组中随机获取一个值 */ public static String getRandomItem(String[] strs) { Random random = new Random(); int number = 0; number = random.nextInt(strs.length); return strs[number]; } /** * 随机生成一个范围内的整数 */ public static int getRandomInt(int min, int max) { if (max < min) { logger.fine("max < min"); return max; } else if (min == max) { return min; } return (int) (min + Math.random() * (max - min)); } /** * 在指定范围中,随机获取一个double数 * * @param scale :小数点位数 */ public static double getRandomDouble(final double min, final double max, int scale) { if (max < min) { logger.fine("max < min"); return max; } else if (min == max) { return min; } double d = min + ((max - min) * new Random().nextDouble()); d = new BigDecimal(d).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue(); return d; } /** * 在指定范围中,随机获取一个float数 */ public static float getRandomFloat(final float min, final float max) { if (max < min) { logger.fine("max < min"); return max; } else if (min == max) { return min; } return min + ((max - min) * new Random().nextFloat()); } /** * 获取一个不重复的随机字符串 */ public static String getUUID() { UUID uuid = UUID.randomUUID(); String str = uuid.toString(); // System.out.println("原始UUID: " + str); // 去掉"-"符号 String temp = str.substring(0, 8) + str.substring(9, 13) + str.substring(14, 18) + str.substring(19, 23) + str.substring(24); // System.out.println("去掉\"-\"符号: " + temp); return temp; } }
内容总结
以上是互联网集市为您收集整理的Java之随机生成各种类型的数据举例全部内容,希望文章能够帮你解决Java之随机生成各种类型的数据举例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。