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

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

JAVA:閱讀copyOfRange()源碼遇到的一個疑惑。

JAVA:閱讀copyOfRange()源碼遇到的一個疑惑。

梵蒂岡之花 2019-03-21 22:19:03
public static char[] copyOfRange(char[] original, int from, int to) { int newLength = to - from; if (newLength < 0) throw new IllegalArgumentException(from + " > " + to); char[] copy = new char[newLength]; System.arraycopy(original, from, copy, 0, Math.min(original.length - from, newLength)); return copy; }arraycopy(src,sPos,dest,dPos,length)中最后一個參數是“要復制的數組元素的數量”,那就用newLength代入了,為什么還要比較“original.length - from”和“newLength”之間誰最小值?這樣做的用意是?謝謝!
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我來告訴你。
char[] copy = new char[newLength];

這個是你想復制出來的數組的大小,注意這個大小,不一定全部是有數據的。
他的值完全決定于 你的 from to;

這個是真要復制有數據的大小。
Math.min(original.length - from, newLength)

假設這里面 原始數組的長度是 8 from為 4 to為 10
說明我要創建一個6個長度的數組,前4個數據來源于原始數據!~~后兩個,干啥現在還不清楚。。明白了吧!~~


查看完整回答
反對 回復 2019-04-26
  • 1 回答
  • 0 關注
  • 576 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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