我必须生成一个11位数的ID号,但是当我使用随机包装时,它说它超出了范围,那么如何使它变成11个呢?

public static int generateID(){

    Random r = new Random();
    int numbers = 1000000000 + (int)(r.nextDouble() * 999999999);

    return numbers;
}

最佳答案

import java.util.concurrent.ThreadLocalRandom;
...
public long generateId() {
  ThreadLocalRandom random = ThreadLocalRandom.current();
  return random.nextLong(10_000_000_000L, 100_000_000_000L);
}


使用正确的工具。在这种情况下,Random的价值比ThreadLocalRandom的价值低得多。

10-07 13:15