Я хочу генерировать случайные числа id в родовом классе. Пользователь должен иметь возможность выбирать из большинства реализаций номера. Является ли мой подход безопасным в случае литья с длинного на байт? Я не знаю, что происходит на таком унынии. Какое число это приведет? Будут ли найдены равномерно распределенные номера?Генерация случайных чисел в родовом классе
@SuppressWarnings("unchecked")
public class Test<I extends Number>
{
SecureRandom random = new SecureRandom();
I id = (I) random.nextLong();
while(Test.has(id))
{
id = (I) random.nextLong();
}
}
Я уверен, что вы собираетесь получить исключаем исключения здесь. Что, если 'I' был какой-то пользовательский класс, который вы сделали? Во что бы то ни стало подумал, вы должны попробовать это для себя. –
Могу ли я спросить, в чем цель этого класса? –
Согласен с назначением w/r/t .... Генератор случайных чисел, который создает экземпляры Number, а не примитивы, будет намного медленнее. – rolfl