在Java中,要將字符串轉換爲BigInteger,您可以使用構造函數new BigInteger(String)
,但要將int/long轉換爲使用工廠函數BigInteger.valueof(long)
,爲什麼?爲什麼BigInteger(String)沒有BigInteger(long)?
7
A
回答
11
其中是 a BigInteger(long)
構造函數,但它是私有的。在工廠方法的Javadoc提供的信息的原因:
此「靜態工廠方法」優先提供給(長) 構造,因爲它允許常用 BigIntegers的重用。
20
@Morad你可以找到在文檔答案:JavaDoc of BigInteger.valueOf(long):
此「靜態工廠方法」被優先提供給(長) 構造,因爲它允許常用 BigIntegers的重用。
解釋:BigInteger.valueOf(long)
做,你會從BigInteger(long)
構造期望到底是什麼,它是(或應該是)它更有效率。
相關問題
- 1. BigInteger(long)在BigInteger中有私人訪問
- 2. Java BigInteger&String
- 3. 爲什麼BigDecimal的規模不是BigInteger?
- 4. Int到BigInteger,有什麼區別?
- 5. BigInteger Library
- 6. 在java中製作bigInteger大小biginteger
- 7. BigInteger到BigInteger的功能(Schnorr簽名)
- 8. BigInteger無限制意味着什麼?
- 9. C++ Biginteger,這是什麼意思?
- 10. 沒有BigInteger使用的Karatsuba算法
- 11. 沒有任何反應[BigInteger的]
- 12. 將BigInteger二進制轉換爲BigInteger數字?
- 13. 轉換的BigInteger爲字符串,然後回的BigInteger
- 14. 的Java的BigInteger
- 15. BigInteger上的OutOfMemoryError
- 16. BigInteger in Pascal
- 17. 的BigInteger到Hexadeximal
- 18. BigInteger to Key
- 19. 隨機化BigInteger
- 20. 從byteArray到bigInteger
- 21. Groovy來BIGINTEGER
- 22. BigInteger in Properties.Settings.Default
- 23. BigInteger在Kotlin
- 24. BigInteger問題
- 25. BigInteger + - 操作?
- 26. Java BigInteger(byte [] val)
- 27. 關於Java BigInteger
- 28. BigInteger in C?
- 29. BigInteger.pow()與BigInteger
- 30. Java BigInteger素數
這就是他們在建造時的設計方式。你將不得不問誰創造BigInteger這個問題。 – brso05 2014-10-03 20:25:31
通常情況下,實現緩存常見值,例如接近0的正整數。 – 2014-10-03 20:27:50
@JakeCobb - 確切地說 - 在這種情況下,它緩存的值介於-16和16之間。 – Krease 2014-10-03 21:10:56