ThreadLocalRandom()替代Android API等级19及以下?

时间:2018-01-26 12:10:04

标签: java android

在我的应用程序中,我使用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;
    }

1 个答案:

答案 0 :(得分:1)

只需使用Random即可。它也是这样。您可能想要考虑使用currentTimeMillis作为种子,但如果您不想要自定义种子,则不必提供任何参数来创建它