2014-09-26 70 views
0

我想知道哪個更好,爲什麼?在運行時構建BigInteger vs CompileTime

myFunction(new BigInteger(String1)); 

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

IMO,後者是更好,因爲它不是在運行時編譯過程中,我們可以有BIGINT,而與第一種方法,我們把一切都高達運行時?

請注意。正確/更新

+0

什麼讓你覺得它發生在編譯時? – 2014-09-26 23:00:42

回答

5

這兩段代碼沒有真正的區別。在這兩種情況下都會在運行時創建BigInteger,因爲它不是一個常量表達式; new運算符將在運行時創建對象。

唯一可能的不同的是,第一個代碼示例將不必被後myFunction完成創建的BigInteger的引用,而第二代碼示例將仍然有bigInt參考變量。

+0

謝謝,如果實現我們沒有任何區別,如果你正在編寫乾淨的代碼,你會喜歡哪一個? – CodeMonkey 2014-09-26 23:25:31

+1

如果我在調用'myFunction'後知道我不需要'BigInteger',那麼我會使用第一個,否則我會使用第二個。這兩種方式都不是什麼大不了的,因爲一種形式很容易轉換成另一種形式。 – rgettman 2014-09-26 23:31:13