由ArrayList引發的關於淺拷貝的認知誤區

2021-10-12 05:02:45 字數 281 閱讀 6513

首先,無論深拷貝還是淺拷貝,拷貝的結果,都是乙個新的物件!!!但是,淺拷貝對於二級目錄中引用型別,都是直接拷貝引用,而非開闢新記憶體。

arraylist是淺拷貝的。這裡的淺拷貝,指的是:

arraylist拷貝的結果,是乙個新的arraylist,但是新arraylist中的成員,都是老arraylist的的成員的引用,所以:

在新arraylist中,新增成員,不會影響老arraylist。 在新arraylist中修改元素的屬性,會影響老arraylist。(比如修改列表中儲存的學生,的學生姓名)

由 引發的思考

前陣子在乙個移動專案中,通過 的方式 繫結click 事件來提交乙個表單,由於表單資訊比較敏感,於是採用的post 同步提交的方式,原本到也沒有什麼。後來萬惡的pm說 你這個按鈕呀,要固定在底部比較好 於是乎就通過 position fixed 固定到底部了。那麼,問題來了 在ios 下,虛擬鍵盤是...

由Typedef引發的問題

由typedef 引發的問題 自 用來宣告乙個別名,typedef 後面的語法,是乙個宣告。本來筆者以為這裡不會產生什麼誤解的,但結果卻出乎意料,產生誤解的人不在少數。罪魁禍首又是那些害人的教材。在這些教材中介紹 typedef 的時候通常會寫出如下形式 typedef int para 這種形式跟...

由mmap引發的SIGBUS

一直以來都覺得使用mmap讀檔案是非常高效 非常優雅的做法 參見 從 read 看系統呼叫的耗時 mmap之後,就可以通過記憶體訪問的方式訪問到檔案裡的內容,省去了read這樣的系統呼叫。卻不曾想過,mmap以後,如果讀檔案出錯會發生什麼 今晚看到一篇介紹apache bug的文章,裡面說到,apa...