[問題] 類別陣列如何寫成自動生成實體?

看板java作者 (陽月)時間7年前 (2017/01/25 15:02), 7年前編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/1
比方說: class Example { .... } ------------------------------------ Example[] Obj = new Example[5]; for (int i = 0; i < 5; i++) { Obj[i] = new Example();// 這時每格生成實體 才能操作 } 但這樣很麻煩, 請問有沒有簡便的方法不用用迴圈一格一格生成實體? 可以類似C#的struct就是自動生 比說在建構子裡面做一些操作? 請高手賜教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.135.102 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1485327735.A.B64.html

01/25 15:30, , 1F
C#的struct是Value Type,本質上就跟Reference Type不一樣
01/25 15:30, 1F

01/25 15:35, , 2F
Reference Type必須另外分配空間,不會綁進array的new
01/25 15:35, 2F

01/25 15:39, , 3F
是說寫個generic method去做這件事就好,有很麻煩?
01/25 15:39, 3F
怎麼寫賜教一下@@ ※ 編輯: DerLuna (61.216.135.102), 01/25/2017 15:43:18

01/25 15:58, , 4F
不就把迴圈包到method裡? 只是java沒有extension method
01/25 15:58, 4F

01/25 15:59, , 5F
、generic系統也差很多,寫起來比較醜
01/25 15:59, 5F

01/25 16:19, , 6F
java8可以直接用Arrays.setAll(Obj, i -> new Example());
01/25 16:19, 6F
文章代碼(AID): #1OY4rtja (java)