微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我们在将 int 转换为 bigInteger 时不使用 new 关键字,而在将 string 转换为 bigInteger 时使用 new 关键字?

如何解决为什么我们在将 int 转换为 bigInteger 时不使用 new 关键字,而在将 string 转换为 bigInteger 时使用 new 关键字?

在从int到BigInteger的转换中,我们写

int n = 100;
BigInteger bi = BigInteger.valueOf(n);

当我们打印 bi 时,我们得到 100。 但是,在从 String 到 BigInteger 的转换中,我们写

String str = "100";
BigInteger biStr = new BigInteger(str);

biStr 对象使用 new 关键字来存储从字符串转换而来的 BigInteger 值的值,但是 bi 对象将在哪里存储其从字符串转换而来的 BigInteger 值内部

解决方法

引用 BigInteger javadoc for valueOf

“这种“静态工厂方法”优先于(长)构造函数提供,因为它允许重用常用的 BigInteger。”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。