免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java不支持哪些數(shù)組?

java不支持哪些數(shù)組?

來源:千鋒教育
發(fā)布人:qyf
時間: 2023-03-22 17:51:00 1679478660

  概念

  所謂的數(shù)組(Array),就是數(shù)據(jù)的組合,簡單地說就是一個存儲容器,里面可以包含多個數(shù)據(jù)。該容器在內存中開辟了一塊連續(xù)的存儲空間,可以用來保存相同類型的多個數(shù)據(jù)。給大家舉個栗子,下圖的這個東西你見過嗎?

  有的人說這不是雞蛋嗎?其實壹哥想讓你看的是存儲這些雞蛋的”容器“--雞蛋托!一個雞蛋托有多個存儲格子,每個格子只能存儲一個雞蛋,并且這些格子只能用來存儲雞蛋,不能存儲其他的東西。一個雞蛋托可以存儲的雞蛋數(shù)量是有限的,不能無限存儲。

  其實Java里的數(shù)組就類似于是”雞蛋托“,數(shù)組中存儲的數(shù)據(jù)元素就是一個個的”雞蛋“。一個數(shù)組占據(jù)了內存中的一片連續(xù)空間,只能存儲相同類型的數(shù)據(jù),數(shù)組有一定的存儲空間。我們在創(chuàng)建數(shù)組時,需要先聲明數(shù)組的類型,之后該數(shù)組中只能存儲指定類型的數(shù)據(jù)。

  ●我們把存儲在數(shù)組中的每一個數(shù)據(jù),稱為”數(shù)據(jù)元素“。這些數(shù)據(jù)元素會按著一定的順序排列存儲,并賦予每個數(shù)據(jù)元素對應的編號。我們可以直接通過編號(索引、下標)的方式來調用指定位置上的數(shù)據(jù)元素,查找速度會很快。

  ●數(shù)組本身是引用類型,但數(shù)組中的數(shù)據(jù)元素可以是任何數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。

  ●數(shù)組創(chuàng)建時需要指定一個名稱,并會在內存中開辟一整塊連續(xù)的內存空間,數(shù)組名引用的就是這塊連續(xù)空間的首地址(第一個地址)。

  ●數(shù)組創(chuàng)建后,長度一旦確定,就不能再被修改。

  java支持的數(shù)組

  1.基本類型數(shù)組:包括 boolean、byte、short、char、int、long、float 和 double 類型的數(shù)組。

  2.引用類型數(shù)組:包括任何類、接口、數(shù)組類型的對象的數(shù)組。

  java不支持的數(shù)組

  1.C/C++ 中的指針數(shù)組,因為 Java 中沒有指針。

  2.多維變長數(shù)組,例如 C/C++ 中的動態(tài)二維數(shù)組。在 Java 中,多維數(shù)組的每個維度的大小必須在定義時確定,且在程序運行時無法改變。

  3.超過 JVM 堆空間大小限制的大型數(shù)組。Java 數(shù)組的最大大小受 JVM 堆空間大小的限制。如果嘗試創(chuàng)建一個超過 JVM 堆空間大小限制的數(shù)組,則會引發(fā) OutOfMemoryError 異常。

  4.Java不支持泛型數(shù)組

  java為什么不支持泛型數(shù)組

  Java不支持泛型數(shù)組是由于以下兩個原因:

  1.類型擦除

  在Java中,泛型使用類型擦除來實現(xiàn)。在編譯時,所有泛型類型都會被替換為它們的限定類型或Object類型,因此在運行時無法獲得泛型類型的信息。這意味著在創(chuàng)建泛型數(shù)組時,編譯器無法確切知道數(shù)組元素的類型。例如,以下代碼無法編譯:

  List[] arr = new List[10];

  因為編譯器無法確定List在運行時的類型。

  2.安全性

  如果Java允許泛型數(shù)組,那么可能會導致類型安全問題。例如,假設以下代碼可以編譯:

  List[] arr = new List[10];

  Object[] objArr = arr;

  objArr[0] = new ArrayList();

  String s = arr[0].get(0); // ClassCastException

  由于數(shù)組是協(xié)變的,因此我們可以將一個數(shù)組賦值給另一個數(shù)組,但是在這個例子中,我們把一個ArrayList賦值給一個List[],這樣就破壞了類型安全,因為我們可以在編譯時避免類型錯誤,但在運行時會拋出ClassCastException異常。

  為了避免這些問題,Java禁止使用泛型數(shù)組。如果需要創(chuàng)建泛型容器,可以使用集合框架,例如List、Set和Map。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT