国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

全面了解java基本類型和封裝類型的區別及應用

2019-11-26 13:53:58
字體:
來源:轉載
供稿:網友

1. 基本類型只能按值傳遞,而每個基本類型對應的封裝類是按引用傳遞的。

2. 從性能上說java中的基本類型是在堆棧上創建的,而所有的對象類型都是在堆上創建的,(對象的引用在堆棧上創建)。比如

Integer i=new Integer(10); 其中new Integer()是在堆上創建的,而他的引用Integer i是在堆棧上。 封裝類的出現,是為了更方便的使用一些基本類型不具備的方法,比如valueOf(),toString()等等。還有你如果想傳遞一個int對象的引用,而不是值,那只能用封裝類。

在堆棧上分配內存的調用效率和在堆上分配內存的效率差太多了。雖然在堆棧上分配內存效率高,不過在堆棧上分配內存有內存泄露的問題。(這是一個平庸程序員基本解決不了的問題...)java用了一種很天才的方法提高了在堆上分配內存的效率,盡管如此,java還是慢。他不太可能達到向c++那么快,盡管他一直在承諾總有一天虛擬機會和機器碼速度一樣快。

JDK5.0開始可以自動封包了 ,也就是基本數據可以自動封裝成封裝類,基本數據類型的好處就是速度快(不涉及到對象的構造和回收),封裝類的目的主要是更好的處理數據之間的轉換,方法很多,用起來也方便。

當然,封裝類型的傳遞是引用傳遞,比如

Integer a = new Integer(1);

表示一個Integer類型的引用a引用了一塊內存,這塊內存中的數據是1; 而a中所存的則是這塊內存的引用(地址),把a傳給別的方法或對象時,則是把a的引用傳遞過去了。

類型之間的轉換:

String b = "123456";

int c = Integer.parseInt(b);

表示把字符串123456轉成整型數字,其中parseInt是靜態方法,可以直接使用

還有一點,在某些場合,需要用到封裝類,比如一個集合List,它只能往里面添加對象,也就是Object,那么直接存數字肯定是不行 的,則需要將數字封裝成封裝類型對象再存到該List中,如

List list = new ArrayList(); 
list.add(new Integer(1)); 
list.add(new Integer(2)); 
list.add(new Integer(3)); 
list.add(new Integer(4)); 
JDK5.0以后可以自動封包,所以可以簡寫成 
List list = new ArrayList(); 
list.add(1); 
list.add(2); 
list.add(3); 
list.add(4);

以上這篇全面了解java基本類型和封裝類型的區別及應用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原阳县| 宁城县| 道孚县| 大同县| 息烽县| 济源市| 绥滨县| 连南| 福安市| 定安县| 伊春市| 安国市| 宣恩县| 英德市| 胶南市| 沛县| 西藏| 工布江达县| 吕梁市| 扎赉特旗| 宣化县| 嘉禾县| 澎湖县| 东港市| 宜丰县| 保康县| 伊吾县| 岑溪市| 醴陵市| 栖霞市| 赤城县| 云龙县| 宾阳县| 平定县| 确山县| 建水县| 高雄市| 佳木斯市| 金堂县| 禄丰县| 蓝山县|