亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下是關于Java Charset.decode()方法 自動擴容問題!求教!

以下是關于Java Charset.decode()方法 自動擴容問題!求教!

斯蒂芬大帝 2021-11-01 14:10:07
ByteBuffer byteBuffer = ByteBuffer.allocate(20);FileChannel channel = new FileInputStream(PATH).getChannel();channel.read(byteBuffer);byteBuffer.clear();CharBuffer buffer = Charset.defaultCharset().decode(byteBuffer);通過上述代碼得到的CharBuffer的容量是21,比byteBuffer要大,查看decode方法的源碼:看不懂,其中有一句代碼是2n * 1,想請教一下高手,什么情況下會有這樣自動擴容?
查看完整描述

1 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

根據編碼器回饋結果cr如果出現結果溢出overflow時
(初次以編碼字節平均占字符數(averageCharsPerByte)計算出的空間不夠時),
新空間翻倍加1,為防止過程中n=0,翻倍2*n還是0,所以加1

查看完整回答
反對 回復 2021-11-06
  • 1 回答
  • 0 關注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號