- documentation of "bound" should mention that it is exclusive rather than relying on the return documentation.
- I find disallowing the zero bounds and empty ranges slightly annoying. It requires me to externally special case for situations such as: Random ran = new Random(); String[] users = {"Fred"}; someUser = users[mine.nextInt(users.length - 1)]; This is a frequently used idiom. Yes, forcing the random number generator to return zero is silly but for symmetry it is convenient. An empty range isn't an obvious error (though the "String[] users = {};" case is obviously an error). On Aug 19 2013, at 04:07 , Paul Sandoz wrote: > Hi, > > This patch updates Random and ThreadLocalRandom to have functional > consistency (for the most part) across Random, ThreadLocalRandom and > SplittableRandom: > > http://cr.openjdk.java.net/~psandoz/tl/JDK-8023155-Random-TLR-SR-sync/webrev/ > > > http://cr.openjdk.java.net/~psandoz/tl/JDK-8023155-Random-TLR-SR-sync/specdiff/overview-summary.html > > I have yet to define a common interface e.g. RandomGenerator that Random, > ThreadLocalRandom and SplittableRandom could implement, but it would be very > easy to do so. Any thoughts on doing this? Seems worthwhile. Mike