gpt4 book ai didi

java - 在泛型类中生成随机数

转载 作者:行者123 更新时间:2023-12-01 14:36:45 25 4
gpt4 key购买 nike

我想在通用类中生成随机 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();
}
}

最佳答案

Java Number 类并不是真正为这种通用类的使用而设计的。你无法像你想要的那样进行转换; Java 不可能知道你想要完成什么(特别是在 type erasure 之后)。没有自动装箱,例如,如果IAtomicIntegerBigDecimal等(并不是说强制转换是调用自动装箱的方式)首先是拳击)。

我建议您重新设计您的应用程序,以便它不依赖于您建议的类这样的野兽。这根本行不通。

关于java - 在泛型类中生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com