Использовать Enum для наполнения массива или же напрямую для рандомного выбора нужных значений
каким образом вызывать рандомно данные с Enum (типичные английские фамилии). Используется для выбора рандомной фамилии американцу. Или создать массив заполнить его из Enum
public enum Surname {
Smith,
Johnson,
Williams,
Jones,
Brown,
Davis,
Miller,
Wilson
}
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Например так можно заполнить список и вывести из enum:
List<Surname> enumValues = Arrays.asList(Surname.values());
for(Surname val : enumValues) {
System.out.println(val);
}
или
List<String> enumNames = Stream.of(Enum.values())
.map(Surname::name)
.collect(Collectors.toList());
Соответственно если есть список, то рандомное значение оттуда взять, думаю, не проблема
Например
Random rand = new Random();
System.out.println(enumValues.get(rand.nextInt(enumValues.size())));
Автор решения: Александр Фалендыш
→ Ссылка
попробывал так. Переписую код))
final String[] studentsSurname = new String[Surname.values().length];{
for (int i = 0; i < Surname.values().length; i++)
studentsSurname[i] = Surname.values()[i].toString(); }
public Student toCreateStudent() {
Student student = new Student();
Random rnd = new Random();
student.surname = studentsSurname[rnd.nextInt(studentsSurname.length)];