关于java中的数组
?
?
前言:最近剛剛看完了《Java編程思想》中關(guān)于數(shù)組的一章,所有關(guān)于Java數(shù)組的知識,應(yīng)該算是了解的差不多了。在此再梳理一遍,以便以后遇到模糊的知識,方便查閱。
? Java中持有對象的方式,大概有三種:通過對象的Field去持有一個(gè)對象(通過組合的方式),通過數(shù)組,通過集合容器。這里先看一下通過數(shù)組與集合容器持有對象的不同,通過數(shù)組持有對象一般是明確我要持有對象的類型,也就是說數(shù)組用來持有同一種類型的對象,在jdk1.5之前,相對于集合容器來說,這是數(shù)組的一大優(yōu)點(diǎn),因?yàn)樵跊]有引入泛型之前,可以把任意類型的對象都丟進(jìn)集合容器中,當(dāng)把一個(gè)對象丟進(jìn)容器之后,這個(gè)對象的類型在運(yùn)行時(shí),就很難知道了,要想再次使用這個(gè)對象,就要進(jìn)行不安全的向下轉(zhuǎn)型(丟進(jìn)集合中的對象被向上轉(zhuǎn)型為Object),在jdk1.5引入泛型之后,集合容器也能只持有同一種類型的對象了,所以數(shù)組的這一個(gè)優(yōu)勢在jdk1.5之后喪失了。相對于集合容器,數(shù)組還有一大劣勢,就是一個(gè)數(shù)組對象創(chuàng)建之后,這個(gè)數(shù)組的大小就固定了,在后續(xù)的對于這個(gè)數(shù)組的操作中,不能擴(kuò)展這個(gè)數(shù)組的長度。對于集合容器,創(chuàng)建一個(gè)集合容器對象時(shí),無需說明集合容器的大小,想放多少對象在集合中都行。至此,貌似一切都在暗示:集合比數(shù)組更方便,數(shù)組能做的集合照樣可以完成。其實(shí)就是這樣的,《Java編程思想》的作者也建議:能用集合就不用數(shù)組。但是數(shù)組作為一個(gè)輕量級的持有對象的數(shù)據(jù)類型,在代碼中還是很常見。
? 其實(shí)要想徹底理解數(shù)組,只要理解數(shù)組作為一種數(shù)據(jù)類型,在內(nèi)容中是如何存儲(chǔ)的。這樣無論是數(shù)組的創(chuàng)建,還是初始化,還是數(shù)組元素的賦值...都好理解。
(圖一張)
1.數(shù)組對象的創(chuàng)建:
數(shù)組變量的申明有兩種方式:?int a[]?和?int[] a?,推薦使用后者,因?yàn)榭梢悦鞔_這就是一個(gè)裝有int值的數(shù)組。
?
數(shù)組作為一種引用類型的數(shù)據(jù)類型,數(shù)組變量存放的數(shù)組對象在堆內(nèi)存中的引用地址。
一維基本類型的數(shù)組:
轉(zhuǎn)載于:https://www.cnblogs.com/wangliyue/p/4103511.html
總結(jié)
以上是生活随笔為你收集整理的关于java中的数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恐怖解谜类游戏《层层恐惧》新作将于 6
- 下一篇: 俞永福:高德地图2023年一号工程是“一