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

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

CopyOnWriteArrayList類set方法疑惑

CopyOnWriteArrayList類set方法疑惑

慕妹3146593 2018-12-06 12:33:49
在CopyOnWriteArrayList類的set方法中有一段setArray(elements)代碼,實際上這段代碼并未對elements做任何改動,實現的volatile語意并不對CopyOnWriteArrayList實例產生任何影響,為什么還是要保留這行語句? public E set(int index, E element) { final ReentrantLock lock = this.lock; lock.lock(); try { Object[] elements = getArray(); E oldValue = get(elements, index); if (oldValue != element) { int len = elements.length; Object[] newElements = Arrays.copyOf(elements, len); newElements[index] = element; setArray(newElements); } else {       // 就是這一段代碼 setArray(elements); } return oldValue; } finally { lock.unlock(); } } private E get(Object[] a, int index) { return (E) a[index]; } final void setArray(Object[] a) { array = a; }
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 1053 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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