В то время как я работал над классом, который требовал генерации случайных чисел, я думал о способе создания только одного случайного объекта для нескольких целей.Как создать один объект для нескольких целей правильно?
Я прочитал о статических фабриках в эффективной Java и придумал это, но чем больше я думаю, тем меньше логики я вижу в этом. Это лучший способ? И это гарантирует, что создается только один случайный объект?
public static Random newInstance() {
return new Random();
}
public static void generateRandom() {
Random rand = newInstance();
//...
}
Другой способ инициализируется его в конструкторе, хотя я не уверен, что это лучшая практика?
public static Random rand = new Random();
Я бы рекомендовал '' SecureRandom' над Random' – Kirby
Второй вариант кода не будет инициализировать в конструкторе, который будет инициализироваться при загрузке класса. –
Я думал, что он сделал конструктор автоматически, если его нет? – SJ19