jdk 1.7中引入了ThreadLocalRandom类。除了java.util.Random中已有的方法之外,它还有一些方便的方法,例如nextInt(least, bound)
和nextLong(n)
。是否有任何原因将这些内容添加到java.util.Random中?毕竟,并不是因为他们不想触摸Random类,因为他们在Java 8中添加了大量新方法。
我正在寻找任何客观的技术原因(而不是意见)。
答案 0 :(得分:1)
我认为没有技术原因。这些方法可以在1.7中添加。我想java.util.Random
半推荐使用ThreadLocalRandom
&由于过度同步导致SecureRandom
- 就像Hashtable&向量。 Java8中的新流方法仅添加到java.util.Random
,因为它是其他两个RNG的超类,没有像java.util.Collection这样的单独接口。