亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

new ClassName[0] 有什么作用?(Java 8)

new ClassName[0] 有什么作用?(Java 8)

慕容森 2023-03-02 10:17:46
這個語法是做什么的,用方括號括住數字?new Integer[0];我在我維護的代碼庫中找到了它,但我找不到關于它的任何文檔。它是這樣使用的:Set<Form> forms = getForms(); List<Form> formsList = Arrays.asList(forms.toArray(new Form[0]))
查看完整描述

2 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

它分配一個長度為零的數組;例如new Integer[0]創建一個零長度的Integer對象數組。

為什么要這么做?

好吧,請查看該方法的 javadoc form.toArray(T[])。假設那是他們在這里form的一些子類型。Collection

該方法的目的toArray是將目標集合(例如您的)的元素復制form到一個數組中:

  • 如果參數數組足夠大以容納所有元素,則將它們復制到該數組中。結果將是參數數組。

  • 如果參數數組太小,則分配一個新數組,其類型與參數數組相同,并且長度(剛好)足以容納元素。然后將元素復制到新數組中,并將其作為結果返回。

因此,代碼實際做的是將 的元素復制form到合適大小的 an Integer[],然后包裝數組以提供 (fixed sized) List<Integer>。然后可以將其傳遞給其他代碼,而不必擔心該代碼可能會更改原始form集合。


查看完整回答
反對 回復 2023-03-02
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

與存儲字符串、整數、布爾值等值的傳統數組不同,對象數組存儲對象。數組元素存儲對象引用變量的位置

語法:Class obj[]= new Class[array_length]


查看完整回答
反對 回復 2023-03-02
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號