BigInteger.valueOf() 对于非常大的数字?
在 Java 中将 50 位字符串转换为 BigInteger 的最佳方法是什么?它没有 valueOf(String) 方法,而且我无法转换为 Long,因为它太小了。
What would be the best way to convert a 50-digit String to a BigInteger in Java? It doesn't have a valueOf(String) method, and I can't convert to Long because it's too small.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
它确实有一个
BigInteger(String)
构造函数:-)It does have a
BigInteger(String)
constructor :-)怎么样...
所有这些 Xxx.valueOf() 方法都是构造函数的替代方法,因为它们允许返回共享的缓存副本。根据定义,构造函数每次都会返回一个新实例。所以 valueOf() 是一个很好的优化,但设计者显然没有发现提供 BigInteger.valueOf(String) 方法有趣。在这种情况下,您必须使用其中一个构造函数。
How about...
All those Xxx.valueOf() methods are alternatives to constructors because they allow for returning shared, cached copies. Constructors, by definition, return a new instance every time. So valueOf() are a nice optimization, but the designers apparently didn't find it interesting to provide a BigInteger.valueOf(String) method. You'll have to use a one of the constructors in this case.
BigInteger 有一个接受 String 的构造函数。
BigInteger has a constructor that takes a String.
你尝试过吗
Have you tried