第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

BigInteger 不可變的替代方案/解決方法

BigInteger 不可變的替代方案/解決方法

猛跑小豬 2021-12-10 16:41:25
在我的游戲中你有錢。貨幣值存儲(chǔ)在類型為 的變量中l(wèi)ong。問(wèn)題是這個(gè)變量的最大值是不夠的。所以我想把它改成 a BigInteger,但這是一個(gè)不可變的類,我需要在同一個(gè)地方存儲(chǔ)和更新這個(gè)值。是否有另一個(gè)類似的類BigInteger不是一成不變的或解決方法?
查看完整描述

2 回答

?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以BigInteger為此目的使用,但我不明白不變性如何影響用例。


您可以對(duì)一個(gè)BigInteger. 例如:


BigInteger a = BigInteger.valueOf(100);

a = a.add(BigInteger.valueOf(200));

BigInteger b = a.multiply(BigInteger.valueOf(2));

由于不變性而發(fā)生的唯一變化是,每次獲得值時(shí)都需要?jiǎng)?chuàng)建一個(gè)新對(duì)象,但您可以使用該值覆蓋當(dāng)前對(duì)象。此外,不變性在多線程情況下不易出錯(cuò)。


查看完整回答
反對(duì) 回復(fù) 2021-12-10
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

默認(rèn)情況下,Java 沒有存儲(chǔ)值大于 long 值的數(shù)據(jù)類型(關(guān)鍵字)。

有一種對(duì)象類型,您可以隨心所欲地存儲(chǔ)值 - 只要您的系統(tǒng)的 RAM 可以處理它,即 BigInteger 和 BigDecimal。

不幸的是,沒有類似的內(nèi)置類BigInteger不是不可變的。更改 BigInteger 對(duì)象中的值的唯一方法是重新分配它,這意味著每次要更改值時(shí)都創(chuàng)建一個(gè)實(shí)例。

但是,如果您在短時(shí)間內(nèi)多次更改該值,這可能會(huì)降低性能。您可以創(chuàng)建一個(gè)String變量,如果有更改,您可以重新分配它,然后最后您可以重新分配 BigInteger 對(duì)象。

簡(jiǎn)短的回答,沒有。


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 2 回答
  • 0 關(guān)注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)