您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么使用java的Arrays.copyOf實現淺拷貝的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么使用java的Arrays.copyOf實現淺拷貝文章都會有所收獲,下面我們一起來看看吧。
1.淺拷貝說明
把原型對象中成員變量為值類型的屬性都復制給克隆對象,把原型對象中成員變量為引用類型的引用地址也復制給克隆對象,也就是原型對象中如果有成員變量為引用對象,則此引用對象的地址是共享給原型對象和克隆對象的。簡單來說就是淺拷貝只會復制原型對象,但不會復制它所引用的對象。
2.Arrays.copyOf()拷貝
是創建一個新的數組(也就是分配了一個新的內存空間),然后調用System.arraycopy()復制內容,賦值給新數組,然后返回新數組。
3.實例
public static byte[] copyOfRange(byte[] original, int from, int to) { int newLength = to - from; if (newLength < 0) throw new IllegalArgumentException(from + " > " + to); byte[] copy = new byte[newLength]; System.arraycopy(original, from, copy, 0,Math.min(original.length - from, newLength)); return copy; }
實際上它調用的就是System.arraycopy,所以肯定也是淺拷貝。
關于“怎么使用java的Arrays.copyOf實現淺拷貝”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么使用java的Arrays.copyOf實現淺拷貝”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。