java - 通过 Random.nextLong() 检查 long 是否可以随机生成
问题描述
您可能知道,Random.nextLong()
Java 中不会生成所有可能的长值。如何检查特定的 long 是否可以通过该方法随机生成?
解决方案
首先,JavaDoc to Random 说:
{@code Random} 类对 {@code setSeed} 的实现碰巧只使用了给定种子的 48 位。然而,一般来说,覆盖方法可以使用 {@code long} 参数的所有 64 位作为种子值。
但您可能还想查看ThreadLocalRandom,因为它似乎没有 48 位种子限制。而且它也更快。
推荐阅读
- markdown - pandoc docx:没有表或坏表
- c# - 如何在其他脚本中使用变量值作为变量名?
- python - 由不同数据帧的唯一值组成的新数据帧
- c# - Xamarin IOS在自定义渲染器中隐藏基于IsFocused属性的搜索栏图标
- gdb - What is CAN and how to provide it
- pandas - Pandas / Matplotlib 中带有误差线的堆积条形图
- angular - 无法读取未定义的属性“切换”
- node.js - docker-compose 中的 Node 和 Neo4J
- django - 无法以 django 形式保存数据
- javascript - Chrome 和 Firefox 插件中 XMLHttpRequest 调用的不同结果