[英]BigInteger or not BigInteger?
在Java中,大多數基本類型都是有符號的(一位用於表示+/-),因此當我超出類型的限制時,我會得到意想不到的結果,比如負數。
有沒有比使用BigInteger更好的解決方案,因為BigInteger存在性能問題,您需要使用類方法進行基本算術而不是語言運算符(廢墟可讀性)?
不,沒有更好的解決方案。 如果您正在處理不能適合long或double的值,那么您將需要使用類似BigInteger
的引用類型,而Java不支持運算符重載。
從技術上講,我想你可以在有符號值和無符號值之間進行一些映射,但是如果你的目標是干凈而簡單的代碼那么這就完全沒有了。
Scala真的是這里的解決方案。 在那種語言中,“運算符”實際上只是固定的方法,可以為任意類定義。 事實上,在您的情況下,他們已經在標准庫中。 因此,您可以擁有特殊數字表示的強大功能,但Java原語類型的語法清晰。
Scala經過了強化,可以與Java代碼完全互操作。
仍然擁有漂亮的商務邏輯的唯一方法是使用腳本語言,您可以編譯為java類。 在內部,您可以使用BigIntegers。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.