[英]Why is there BigInteger(String) but no BigInteger(long)?
在Java中,要将字符串转换为BigInteger,请使用构造函数new BigInteger(String)
但要将int / long转换为使用工厂函数BigInteger.valueof(long)
,为什么呢?
@Morad您可以在文档中找到答案: BigInteger.valueOf(long)的JavaDoc :
此“静态工厂方法”优先于(长)构造函数提供,因为它允许重复使用经常使用的BigIntegers。
解释 : BigInteger.valueOf(long)
完全符合您对BigInteger(long)
构造函数的期望,并且这样做的效率更高 (或应该更高 )。
实际上有一个BigInteger(long)
构造函数,但是它是私有的。 factory方法上的javadoc提供有关原因的信息:
此“静态工厂方法”优先于(长)构造函数提供,因为它允许重复使用经常使用的BigIntegers。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.