Я хочу генерировать уникальный идентификатор каждый раз, когда я вызываю methodde generateCustumerId (). Сгенерированный идентификатор должен быть длиной 8 символов или менее 8 символов.
Это требование необходимо, потому что мне нужно сохранить его в файле данных, и для этого идентификатора определена длина 8 символов.
Вариант 1 работает нормально. Вместо варианта 1 я хочу использовать UUID. Проблема в том, что UUID генерирует идентификатор, который имеет много символов. Кто-нибудь знает, как создать уникальный идентификатор, который меньше, чем 99999999?
вариант 1
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class CustomerIdGenerator {
private static Set<String> customerIds = new HashSet<String>();
private static Random random = new Random();
// XXX: replace with java.util.UUID
public static String generateCustumerId() {
String customerId = null;
while (customerId == null || customerIds.contains(customerId)) {
customerId = String.valueOf(random.nextInt(89999999) + 10000000);
}
customerIds.add(customerId);
return customerId;
}
}
option2 генерирует уникальный идентификатор, который слишком длинный
public static String generateCustumerId() {
String ownerId = UUID.randomUUID().toString();
System.out.println("ownerId " + ownerId);
return ownerId
}