日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

20180223

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20180223 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<1>集合對象轉數組

Object[] arrayOfObject = list.toArray();

<2>數組復制

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, arr1.length);

Arrays的copyOf()方法傳回的數組是新的數組對象,所以您改變傳回數組中的元素值,也不會影響原來的數組。
copyOf()的第二個自變量指定要建立的新數組長度,如果新數組的長度超過原數組的長度,則保留數組默認值

<3>hashmap的深復制與淺復制:

淺復制:則是只復制對象的引用,兩個引用仍然指向同一個對象,在內存中占用同一塊內存。

深復制:被復制對象的所有變量都含有與原來的對象相同的值,除去那些引用其他對象的變量.深復制把要復制的對象所引用的對象都復制了一遍。

Map<String,?String>?m1?=?new?HashMap<String,?String>(); ?

//?do?sth?here ?

Map<String,?String>?m2?=?new?HashMap<String,?String>(); ?

m2=m1; ?//只傳遞了一個引用,所有m1的值變化之后m2自然也跟著變了

m2.putAll(m1); //將m2生成一個新的map,即使m1變化之后也并不會影響m2的值?,如果被復制的對象本身含有引用類型的對象,則此方法不能實現深復制

//實現對象的深復制

public class CloneUtils {@SuppressWarnings("unchecked")public static <T extends Serializable> T clone(T obj){T clonedObj = null;try {ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(obj);oos.close();ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());ObjectInputStream ois = new ObjectInputStream(bais);clonedObj = (T) ois.readObject();ois.close();}catch (Exception e){e.printStackTrace();}return clonedObj;} }
<3>super關鍵字的引用:
子類的構造函數默認第一行會默認調用父類無參的構造函數,隱式語句

子類顯式調用父類構造函數

?

轉載于:https://www.cnblogs.com/meisp/p/8460869.html

總結

以上是生活随笔為你收集整理的20180223的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。