在运行时构建BigInteger与编译时间

时间:2014-09-26 22:54:16

标签: java

我想知道哪一个更好,为什么?

myFunction(new BigInteger(String1));

BigInteger bigInt = new BigInteger(String1);
myFunction(bigInt);

IMO,后者更好,因为它不是在运行时,我们可以在编译期间使用bigint,而使用第一种方法,我们可以将所有内容保留到运行时?

PLS。正确/更新

1 个答案:

答案 0 :(得分:5)

这两段代码之间没有真正的区别。在这两种情况下,BigInteger都将在运行时创建,因为它不是常量表达式; new运算符将在运行时创建对象。

唯一可能的区别是第一个代码示例不会引用BigInteger完成后创建的myFunction,但第二个代码示例仍然会有{{ 1}}引用变量。