前言
最近在项目过程中整理了一些常用的方法,于是将其抽出来形成一个工具类。
下面我来分享一下我自己整理的一些工具方法:
代码展示
👉生成随机文件名:当前年月日时分秒+五位随机数
这个没啥说明的,就是为了生成一个不重复的文件名,代码如下:
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
类型也是一样的道理。