精华内容
下载资源
问答
  • 主要介绍了Java 生成随机字符串数组的实例详解的相关资料,主要是利用Collections.sort()方法对泛型为String的List 进行排序,需要的朋友可以参考下
  • java随机生成字符串,字符组合多样,可以大小字组合、大+小字符+数字等方式,大家参考使用
  • 主要介绍了java随机字符串生成示例,这个字符随机生成类可以生成多种组合的字符串,比如大+小字符+数字+符号,需要的朋友可以参考下
  • 主要介绍了Java实现产生随机字符串主键的UUID工具类,涉及java随机数与字符串遍历、转换等相关操作技巧,需要的朋友可以参考下
  • 主要为大家详细介绍了java生成随机字符串的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了java随机生成时间字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了Java生成含字母和数字的6位随机字符串的相关资料,供大家参考,感兴趣的朋友可以参考一下
  • java 生成随机字符串

    千次阅读 2018-06-13 22:00:53
    java 生成随机字符串 本文我们介绍java中如何生成随机字符串,首先介绍标准java库,然后介绍the Apache Commons Lang library。 java生成随机无限定字符串 首先简单生成7个字符的随机字符串: @Test...

    java 生成随机字符串

    本文我们介绍java中如何生成随机字符串,首先介绍标准java库,然后介绍the Apache Commons Lang library。

    java生成随机无限定字符串

    首先简单生成7个字符的随机字符串:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
        byte[] array = new byte[7]; // length is bounded by 7
        new Random().nextBytes(array);
        String generatedString = new String(array, Charset.forName("UTF-8"));
     
        System.out.println(generatedString);
    }
    

    注意输出字符串不仅是字母或数字。

    java生成随机限定字符串

    下面我们生成一定范围的随机字符串,范围为小写字母并设定长度:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringBounded_thenCorrect() {
      
        int leftLimit = 97; // letter 'a'
        int rightLimit = 122; // letter 'z'
        int targetStringLength = 10;
        Random random = new Random();
        StringBuilder buffer = new StringBuilder(targetStringLength);
        for (int i = 0; i < targetStringLength; i++) {
            int randomLimitedInt = leftLimit + (int) 
              (random.nextFloat() * (rightLimit - leftLimit + 1));
            buffer.append((char) randomLimitedInt);
        }
        String generatedString = buffer.toString();
     
        System.out.println(generatedString);
    }
    

    Apache Commons Lang 生成随机限定字符串

    Apache Commons Lang 库提供很多随机生成字符串方法,下面看如何生成字母字符串:

    @Test
    public void givenUsingApache_whenGeneratingRandomStringBounded_thenCorrect() {
      
        int length = 10;
        boolean useLetters = true;
        boolean useNumbers = false;
        String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
     
        System.out.println(generatedString);
    }
    

    相比于java实现代码,仅一行就能轻松实现。

    Apache Commons Lang 生成字母字符串

    再看一个简单示例,限定输出为字母字符,但无需传入布尔参数:

    @Test
    public void givenUsingApache_whenGeneratingRandomAlphabeticString_thenCorrect() {
        String generatedString = RandomStringUtils.randomAlphabetic(10);
     
        System.out.println(generatedString);
    }
    

    Apache Commons Lang 生成字母和数字字符串

    最后,我们限定输出范围为(a-z, A-Z) 和数字 0-9:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
        byte[] array = new byte[7]; // length is bounded by 7
        new Random().nextBytes(array);
        String generatedString = new String(array, Charset.forName("UTF-8"));
     
        System.out.println(generatedString);
    }
    

    分别使用标准Java api或Apache Commons库创建有限定范围和无限定范围字符串。

    总结

    本文介绍两种方法生成随机字符串,通过标准Java api或Apache Commons库创建有限定范围和无限定范围字符串。

    展开全文
  • 随机字符串生成

    2015-12-08 17:33:20
    随机字符串生成器 能够随机生成设定长度、设定范围和设定数量的随机字符串 需要.net framework 4.5.2环境运行,无需安装 随机字符串生成器默认保存最近一次的操作设定
  • Java生成随机字符串

    2020-08-01 18:26:36
    * 生成随机字符串生成范围是数字,大小写字母 */ public class TestNumString { public static void main(String[] args) { //定义存放字符的数组 String ss = rr(6);//调用rr方法长度设为6 System.out....
    /*
     * 生成随机字符串,生成范围是数字,大小写字母
    
     */
    public class TestNumString {
    public static void main(String[] args) {
    	//定义存放字符的数组
    	String ss = rr(6);//调用rr方法长度设为6
    	System.out.println(ss);
    }
    private static String rr(int length) 
    {
    char[] charArray = new char[length];
    short start = (short)'0';   //0的ASCII码是48
    short end = (short)'z';    //z的ASCII码是122(0到z之间有特殊字符)
    for (int i = 0; i < length; i++) {
    	while(true)
    	{
    		char cc1 = (char)((Math.random()*(end-start))+start);
    		if(Character.isLetterOrDigit(cc1))  //判断字符是否是数字或者字母
    		{
    			charArray[i] = cc1;
    			break;
    		}	
    	}
    }
    String StringRes = new String(charArray);//把字符数组转化为字符串
    return StringRes;
    }
    }
    
    展开全文
  • 主要为大家详细介绍了java随机生成10位数字符串ID的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...
  • Java随机字符串工具类

    2021-01-04 10:36:55
    在造测试数据的时候,发现自动生成随机字符串的工具是多么有用,闲来无事就写了一个,将来会不会更新就一切随缘了。 package random; import java.util.HashSet; import java.util.Iterator; import java.util....

    在造测试数据的时候,发现自动生成随机字符串的工具是多么有用,闲来无事就写了一个,将来会不会更新就一切随缘了。

    package random;
    
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Random;
    
    public class RandomString {
    	Random r = new Random();
    	final char lowerChar[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y' };
    	final char upperChar[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y' };
    	final char numberChar[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    
    	public static final int MULTIPLE = 0;// 所有字符
    	public static final int LOWER = 1;// 只包含小写字母
    	public static final int UPPER = 2;// 只包含大写字母
    	public static final int NUMBER = 3;// 只包含数字
    	public static final int LOWER_AND_UPPER = 4;// 包含大小写字母
    	public static final int LOWER_AND_NUMBER = 5;// 包含小写字母和数字
    	public static final int UPPER_AND_NUMBER = 6;// 包含大写字母和数字
    
    	/**
    	 * 拼接字符数组
    	 */
    	public char[] concat(char[]... a) {
    		LinkedList<Character> list = new LinkedList<>();
    		for (int i = 0; i < a.length; i++) {
    			for (int j = 0; j < a[i].length; j++) {
    				list.add(a[i][j]);
    			}
    		}
    		char result[] = new char[list.size()];
    		Iterator<Character> it = list.iterator();
    		for (int i = 0, length = result.length; i < length; i++) {
    			result[i] = it.next();
    		}
    		return result;
    	}
    
    	/**
    	 * 获取随机字符串,包含大小写字母和数字,可以有重复字符
    	 * 
    	 * @param length 字符串长度
    	 */
    	public String getRandomString(int length) {
    		return getRandomString(length, MULTIPLE, true);
    	}
    
    	/**
    	 * 获取随机字符串,可以有重复字符
    	 * 
    	 * @param length     字符串长度
    	 * @param randomType 随机字符的类型
    	 */
    	public String getRandomString(int length, int randomType) {
    		return getRandomString(length, randomType, true);
    	}
    
    	/**
    	 * 获取随机字符串
    	 * 
    	 * @param length     字符串长度
    	 * @param randomType 随机字符的类型
    	 * @param repeat     是否可以有重复字符,true表示可以重复,false表示不允许重复。如果length大于randomType库的长度,则默认采用true值。
    	 */
    	public String getRandomString(int length, int randomType, boolean repeat) {
    		StringBuilder sb = new StringBuilder();
    		char find[] = null;
    		switch (randomType) {
    		case LOWER:
    			find = lowerChar;
    			break;
    		case UPPER:
    			find = upperChar;
    			break;
    		case NUMBER:
    			find = numberChar;
    			break;
    		case MULTIPLE:
    			find = concat(lowerChar, upperChar, numberChar);
    			break;
    		case LOWER_AND_NUMBER:
    			find = concat(lowerChar, numberChar);
    			break;
    		case UPPER_AND_NUMBER:
    			find = concat(upperChar, numberChar);
    			break;
    		case LOWER_AND_UPPER:
    			find = concat(lowerChar, upperChar);
    			break;
    		}
    		if (length > find.length) {
    			repeat = true;
    		}
    		if (repeat) {
    			for (int i = 0; i < length; i++) {
    				sb.append(find[r.nextInt(find.length)]);
    			}
    		} else {
    			HashSet<Integer> indexset = new HashSet<Integer>();
    			for (int i = 0; i < length; i++) {
    				int index = r.nextInt(find.length);
    				while (indexset.contains(index)) {
    					index = r.nextInt(find.length);
    				}
    				sb.append(find[index]);
    				indexset.add(index);
    			}
    		}
    
    		return sb.toString();
    	}
    
    	/**
    	 * 获取随机字符串
    	 * 
    	 * @param length 字符串长度
    	 * @param repeat 是否可以存在重复的字符
    	 * @param ch     自定义字符集
    	 */
    	public String getRandomString(int length, boolean repeat, char[]... ch) {
    		List<Character> list = new LinkedList<>();
    		for (char[] cs : ch) {
    			for (char c : cs) {
    				list.add(c);
    			}
    		}
    		if (list.size() == 0) {
    			return "";
    		}
    		if (length > list.size()) {
    			repeat = true;
    		}
    
    		StringBuilder sb = new StringBuilder();
    		for (int i = 0; i < length; i++) {
    			if (repeat) {
    				sb.append(list.get(r.nextInt(list.size())));
    			} else {
    				sb.append(list.remove(r.nextInt(list.size())));
    			}
    		}
    		return sb.toString();
    	}
    }
    

    再来个更简单的,获取随机、由小写字母和数字拼接、32个字符长度的字符串:

    String code = java.util.UUID.randomUUID().toString().replace("-", "");

     

    展开全文
  • 做压力测试的时候生成随机的参数的。网上找了下,果然有个Xeger,可以。我只是做了回搬运工。下载后解压,有两个jar。 public static void main(String[] args) { String regex = "[0-9a-z]{32}"; Xeger ...
  • import java.util.Random; public class CharacterUtils { //方法1:length为产生的位数 public static String ... //定义一个字符串(A-Z,a-z,0-9)即62位; String str="zxcvbnmlkjhgfdsaqw...
    import java.util.Random;
    
    public class CharacterUtils {
    	
    	//方法1:length为产生的位数
    	  public static String getRandomString(int length){
    	    //定义一个字符串(A-Z,a-z,0-9)即62位;
    	    String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
    	    //由Random生成随机数
    	        Random random=new Random();  
    	        StringBuffer sb=new StringBuffer();
    	        //长度为几就循环几次
    	        for(int i=0; i<length; ++i){
    	          //产生0-61的数字
    	          int number=random.nextInt(62);
    	          //将产生的数字通过length次承载到sb中
    	          sb.append(str.charAt(number));
    	        }
    	        //将承载的字符转换成字符串
    	        return sb.toString();
    	  }
    	  /**
    	   * 第二种方法
    	   */
    	  public static String getRandomString2(int length){
    	    //产生随机数
    	    Random random=new Random();
    	    StringBuffer sb=new StringBuffer();
    	    //循环length次
    	    for(int i=0; i<length; i++){
    	      //产生0-2个随机数,既与a-z,A-Z,0-9三种可能
    	      int number=random.nextInt(3);
    	      long result=0;
    	      switch(number){
    	      //如果number产生的是数字0;
    	      case 0:
    	        //产生A-Z的ASCII码
    	        result=Math.round(Math.random()*25+65);
    	        //将ASCII码转换成字符
    	        sb.append(String.valueOf((char)result));
    	        break;
    	        case 1:
    	          //产生a-z的ASCII码
    	        result=Math.round(Math.random()*25+97);
    	          sb.append(String.valueOf((char)result));
    	        break;
    	        case 2:
    	          //产生0-9的数字
    	                   sb.append(String.valueOf
    	                          (new Random().nextInt(10)));
    	        break; 
    	      }
    	    }
    	    return sb.toString();
    	  }
    	  public static void main(String[] args) {
    		  for(int i=1;i<=25;i++) {			  
    			  System.out.println(CharacterUtils.getRandomString(9));
    		  }
    	      
    	  }
    }
    

     

    展开全文
  • JAVA生成随机字符串

    2020-05-18 18:01:09
    JAVA生成随机字符串 @Test public void getRandomString() { String code = ""; Random random = new Random(); for (int i = 0; i < 6; i++) { int r = random.nextInt(10); //每次随机出一个数字(0-9) ...
  • //生成指定长度的随机字符串String str=RandomStringUtils.randomAlphanumeric(10); 二、根据指定字符串生成指定长度的随机字符串  需要包:import java.util.Random;  String str=...
  • unique-string:生成一个唯一的随机字符串
  • Java生成随机字符串 生成的字符串每个位置都可能是任意字母或数字,length为用户要求产生字符串的长度,需要导入包:import java.util.Random。 public static String getRandomString(int length){ String str=...
  • 有时候我们在测试的时候需要构建一些对象,每次测试都要构建很麻烦,所以我们可以构建一些类,并给类赋一些随机值。 @Data @ToString class Person { private String id; private String age; private ...
  • 原理就是使用random对象生成随机值,然后根据生成的随机值生成大小写字母或者是数字再拼接成字符串即可,其实准确来说应该是生成任意位数的随机字符串,因为randomSequence的入参size决定了字符串的长度 import ...
  • import java.security.SecureRandom; import java.util.Random; public class RandomString { public static final String SOURCES = "ABCD...
  • java生成随机字符串和随机数

    千次阅读 2018-04-04 01:10:37
    今天在项目中需要生成xml报文,报文中的各个字段随机数或者字符串表示,生成随机数字相对简单public static String getRandStr(int length){ Random rand = new Random(); String str = ""; for(int ...
  • 1、生成字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;//length用户要求产生字符串的长度 public static String getRandomString(int length){ String str=...
  • 随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java提供了最基本的工具,可以帮助开发者来实现这一切
  • Java 随机生成字符串

    2019-04-26 14:05:45
    /** * @Description: 生产32位随机字符串 * @Author: vdi100 * @CreateDate: 2019/4/23 14:47 * @Version: 1.0 */ public static String getNum() { char[] chars =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 113,817
精华内容 45,526
关键字:

用java生成随机字符串

java 订阅