文章目录
- 前言
- 代码展示
大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂
现在是:2022年7月9日18:53:37
前言
最近在项目过程中整理了一些常用的方法,于是将其抽出来形成一个工具类。
下面我来分享一下我自己整理的一些工具方法:
代码展示
👉生成随机文件名:当前年月日时分秒+五位随机数
这个没啥说明的,就是为了生成一个不重复的文件名,代码如下:
public static String getRandomNo() {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");Date date = new Date();String str = simpleDateFormat.format(date);Random random = new Random();// 获取5位随机数int ranNum = (int) (random.nextDouble() * (99999 - 10000 + 1)) + 10000;// 当前时间return "P" + ranNum + str;}
🤞输入:无需传参数
✌输出:P7910620220709
👉生成固长字符串
就是指定一个长度,让代码生成一个指定长度的字符串,代码如下:
/*** 生成固长字符串* @param length* @return*/public static String getRandomStringNum(int length) { //length表示生成字符串的长度String base = "ABCDEFGHJKLMNPQRSTUVWXYZ123456789";Random random = new Random();StringBuffer sb = new StringBuffer();for (int i = 0; i < length; i++) {int number = random.nextInt(base.length());sb.append(base.charAt(number));}return sb.toString();}
🤞输入:5
✌输出:VDR58
🤞输入:10
✌输出:EZF9HR5641
👉生成8位随机数
生成8位数的随机数,这个生成的是数字,上一个生成的是字符加数字。代码如下:
/*** 生成8位随机数* @return*/public static String getNonce_str() {String SYMBOLS = "0123456789";Random RANDOM = new SecureRandom();char[] nonceChars = new char[8];for (int index = 0; index < nonceChars.length; ++index) {nonceChars[index] = SYMBOLS.charAt(RANDOM.nextInt(SYMBOLS.length()));}return new String(nonceChars);}
🤞输入:无需输入参数
✌输出:71282570
👉将String
类型的字符串按照逗号生成集合
比如有字符:王炎霸,范啸天,炎王霸,霸王炎,那么使用该工具就会生成一个集合,集合中有四个元素,分别是这几个姓名。代码如下:
/*** String转List<Long>* @return*/public static List<Long> transStringList(String str) {List<String> longList = new ArrayList<>();if (StringUtils.isBlank(str)) {return longList;}String[] strArray = str.split(",");for (String strStr: strArray) {try {longList.add(strStr);} catch (NumberFormatException e) {e.printStackTrace();}}return longList;}
🤞输入:“王炎霸,范啸天,炎王霸,霸王炎”
✌输出:王炎霸
范啸天
炎王霸
霸王炎
需要注意的是,逗号必须是英文的,因为代码中是根据英文逗号进行截取的。
👉将String
类型的字符串按照逗号生成集合(Long
类型)
比如有字符:111111111111,22222222222,3333333333,4444444444,55555555那么使用该工具就会生成一个集合,集合中有5个元素,分别是这几个姓名。代码如下:
/*** String转List<Long>* @return*/public static List<Long> transLongList(String str) {List<Long> longList = new ArrayList<>();if (StringUtils.isBlank(str)) {return longList;}String[] strArray = str.split(",");for (String strStr: strArray) {try {longList.add(Long.parseLong(strStr));} catch (NumberFormatException e) {e.printStackTrace();}}return longList;}
🤞输入:“111111111111,22222222222,3333333333,4444444444,55555555”
✌输出:111111111111
22222222222
3333333333
4444444444
55555555
最后的这两个方法,其实可以变换着来,现在是实现了String
和Long
类型了,boolean
和int
类型也是一样的道理。