I have the following class:
public class CardGenerator {
private static final Random random = new Random();
private CardGenerator() {
}
public static long generateNumber() {
int identifier = random.nextInt(1_000_000_000 - 100_000_000 + 1)
+ 100_000_000; //9 digits
long number = 400_000 * 1_000_000_000L
+ identifier; //15 digits
int checksum = Luhn.getChecksum(number);
number = number * 10 + checksum; //16 digits
return number;
}
public static int generatePIN() {
return random.nextInt(10_000 - 1_000 + 1) + 1_000; //4 digits
}
}
or is it better practice to create a new Random object in every method?