how to create random string in java?

The java.util.Random class is used to generate random numbers. Java Random class objects are thread safe. It provides several methods to generate random numbers of type integer, double, long, float etc.

Note: Random class objects are not suitable for security sensitive applications so it is better to use java.security.SecureRandom in these cases.

Example

package com.w3schools;

import java.util.Random;

public class Test {
	private static final String CHAR_LIST = 
	        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	private static final int RANDOM_STRING_LENGTH = 10;
	public String randomString(){
		StringBuffer randomString = new StringBuffer();
                for(int i=0; i<RANDOM_STRING_LENGTH; i++){
                    int number = getRandomNumber();
                    char ch = CHAR_LIST.charAt(number);
                    randomString.append(ch);
               }
               return randomString.toString();
        }

	private int getRandomNumber() {
           int randomInt = 0;
           Random randomGenerator = new Random();
           randomInt = randomGenerator.nextInt(CHAR_LIST.length());
           if (randomInt - 1 == -1) {
              return randomInt;
           } else {
            return randomInt - 1;
          }
        }
	public static void main(String args[]){
		Test test = new Test();		
		for(int i = 0; i < 10 ; i++){
			 System.out.println(test.randomString());
		}
	}
}

Output

VSYAPagocY
eqQtFzFxLV
uItvdGTNtM
LWLeuabMLD
VQQJedejSf
dNJEyRjSRd
cYHYCfrePD
AdJyJmflbf
WDzYQfUvCH
pnvsVaINHO

Java random class examples