在我的应用程序中,我使用ThreadLocalRandom()
生成种子,但它仅适用于 API级别21 + ,我可以使用Random
并获得相同的结果吗?
这是代码:
public String generateSeed(int length, boolean isNumeric) {
String key = "";
if (isNumeric) {
while (key.length() < length) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
key = key + ThreadLocalRandom.current().nextInt(0, 9);
} else {
//TODO: ThreadLocalRandom alternative
}
}
} else {
while (key.length() < length) {
key = key + UUID.randomUUID().toString().replace("-", "");
}
}
key = key.substring(0, length);
return key;
}
答案 0 :(得分:1)
只需使用Random
即可。它也是这样。您可能想要考虑使用currentTimeMillis作为种子,但如果您不想要自定义种子,则不必提供任何参数来创建它