ジェネリック クラスでランダムな ID 番号を生成したい。ユーザーは、ほとんどの Number 実装から選択できるはずです。Long から Byte にキャストする場合、私のアプローチは安全ですか? そのようなダウンキャストで何が起こるかわかりません。その結果、どのような数になりますか?均等に分散された数を見つけることができますか?
@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();
}
}