簡體   English   中英

BigInteger與否還不是BigInteger?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM