package com.ruoyi.common.utils; import java.util.Random; /** * Created by zhuweiping * 随机数工具类 * on 2021/4/8. */ public class RandomUtils { /** * 生成指定位数数字随机数字 * @param n * @return */ public static String random(int n) { if (n < 1 || n > 10) { throw new IllegalArgumentException("cannot random " + n + " bit number"); } Random ran = new Random(); if (n == 1) { return String.valueOf(ran.nextInt(10)); } int bitField = 0; char[] chs = new char[n]; for (int i = 0; i < n; i++) { while(true) { int k = ran.nextInt(10); if( (bitField & (1 << k)) == 0) { bitField |= 1 << k; chs[i] = (char)(k + '0'); break; } } } return new String(chs); } /** * 生成带时间+随机数 字符串 * @param prefix 前缀 * @param randomNum 随机数位置 * @return */ public static String getDateTimeNowRandom(String prefix,int randomNum){ try{ return prefix+DateUtils.dateTimeNow()+ random(randomNum); }catch (Exception e){ return ""; } } /** * 生成带时间+随机数 字符串 * @param prefix 前缀 * @param randomNum 随机数位置 * @return */ public static String getDateTimeNowRandom(String prefix,String suffix,int randomNum){ try{ return prefix+DateUtils.dateTimeNow()+ random(randomNum)+suffix; }catch (Exception e){ return ""; } } public static void main(String[] args) { String A = "2"; Long b = Long.valueOf(A); System.out.println(random(4)); } }