關於ArrayList的clone方法隨筆

2021-10-17 16:01:34 字數 514 閱讀 1868

arraylist有淺clone與深clone之分;

一,淺clone:其還是和clone的物件一樣,指向同乙個記憶體,如果被clone的物件內的值發生了變化,那麼clone的物件內的值也會隨之發生變化,因為,他們是共享乙個堆記憶體

淺clone示例如下:

//原始物件

arraylistlist = new arraylist<>();

// 對 list 進行拷貝

arraylistclonesites = (arraylist)list.clone();

二,深clone:完全是乙個新的物件,開闢出了乙個新的記憶體分割槽,和之前的物件記憶體指向不是同乙個,完全不會被 clone的物件的值的改變所影響到

深clone示例如下:

// 建立乙個陣列

arraylistlist = new arraylist<>();

//重新clone乙個新的含值的物件

list.clone();

如何巧妙的使用ArrayList的Clone方法

public object clone catch clonenotsupportedexception e 當你需要使用remove方法移除掉集合中的物件,而非要修改集合中的物件的時候,可以選擇使用。新增兩個元素 student stjack new student jack 13 student...

GitLab使用SSH KEY的方式clone

1.登入你的gitlab,在你的頭像下面選擇setting 如果沒有key我們可以直接進行新建,有key的話。那就不用看我的部落格啦。這個時候直接就可以根據它提供的文字進行操作了。根據文件,第一步直接在git bash上面執行這條命令即可,如果你對安裝路徑沒有什麼要求的話,那就直接一路回車等待ssh...

關於ArrayList的天坑

arraylist中的每乙個元素儲存的實際上是物件引用 之前在公司寫 的時候,做過類似下面的事 假如按照下面的方式使用arraylist,則最後list中儲存的元素都相同且都是最後乙個元素,原因是list中所有的元素都指向同一塊記憶體。test public void test1 system.ou...