看板 Soft_Job 關於我們 聯絡資訊
大家都知道java的陣列要用new去配置他 EX: int[] x=new int[5]; or int[] x; x=new int[5]; 今天要來請教各位的是不用new配置陣列 有人可能會想到這個方式 int[] x={0,0,0,0,0}; 但我說的不是這樣是先宣告陣列 之後才配置沒有馬上配置 EX: int[] x; 中 間 可 能 有 程 式 配置陣列x(不用new配置) ------------------- 我簡單的說明一下 通常來說: int[] x;這個是宣告有一個整數陣列 假設我現在不配置要先做其他的事以保留記憶體空間 做完之後再配置 一般來說會這麼寫: x=new int[5]; 可是今天如果不用new來配置空間那要怎麼做?? 大概就是像這樣 煩請各位幫小弟我解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.115.138.195 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1458700278.A.FD6.html
abola921: java有專版,另外使用Collection就好了03/23 10:40
wave1et: int[] x=new int[5]; 配置二個物件03/23 10:41
wave1et: int[] x;配置一個物件。JAVA是純物件導向語言。03/23 10:43
wisehuang: 省事就用ArrayList最後toArray03/23 10:48
ssccg: 樓樓上不對,new int[5]是配置一個物件,int[] x;沒有配置03/23 11:07
ssccg: 只是宣告一個參考,如果是物件欄位會初始化成null03/23 11:10
ssccg: 然後原po的問題,{0,0,0,0,0}這種只能用在宣告的時候03/23 11:11
iamshiao: 這應該在專版問+1,而且我還真是看不懂你的問題03/23 11:12
ssccg: 之後才配置的話要用 x = new int[] {0,0,0,0,0};03/23 11:12
iamshiao: 問題是{}的寫法,不在宣告的同時寫的話要怎麼寫嗎?03/23 11:15
meowyih: 要不要問我很討厭看到分號, 有沒有辦法不用分號寫 Java03/23 11:27
meowyih: 算了 = =a (答: 去寫 SWIFT :p)03/23 11:27
kurakidream: 先把你的問題釐清,我也看不懂在問什麼XD03/23 11:33
gpctv: 我很認真看,也看不太懂,不然真的就像樓上說的用collection03/23 12:03
gpctv: 解決啊03/23 12:03
Masakiad: 上面講的配置=instance??03/23 12:04
meowyih: "配置" 二字直的直接翻譯應該是 "allocate" 吧 (台灣不03/23 12:19
meowyih: 像日本對技術用語有政府部門統一的管理和翻譯, 所以還是03/23 12:19
meowyih: 用英文吧...)03/23 12:19
※ 編輯: a1632619699 (120.115.136.150), 03/23/2016 12:50:15
gpctv: 樓上的,以前大學老師有說過,他說日本都有統一翻譯,我還在想03/23 12:51
gpctv: 怎麼可能,想不到是真的!!!! 03/23 12:51
gmoz: 用new會怎樣嗎 03/23 12:58
不會怎樣只是這是教授給的題目(真的不是我龜毛故意找麻煩) ※ 編輯: a1632619699 (120.115.136.150), 03/23/2016 13:01:00 另外此篇也發至java專版了 ※ 編輯: a1632619699 (120.115.136.150), 03/23/2016 13:01:58
Snack: new了就是給他 '連續'記憶體空間 03/23 20:30
Snack: {0,0,0,0}也跟new出來一樣啊..陣列指向這四個 連續 記 03/23 20:35
Snack: 憶體位置 03/23 20:35
atpx: 教授可能要你做出類似陣列的功能吧 03/24 02:49
atpx: 但是java不允許操縱記憶體, 你只能用類似linked list方式做 03/24 02:49
atpx: ArrayList應該也不行, 因為底層一樣是先new個100的陣列空間 03/24 02:50
zanyking: 不用new 配置的用意是什麼?感覺不出有什麼實用價值 03/24 07:05
舉個例子大家應該就懂了 int[] x={0,0,0,0,0};<=這個就算是不用new了 但是他現在要求拆開 也就是 int[] x; x={0,0,0,0,0};(錯誤) 他要問的就是錯誤那邊要怎麼讓他能動 ※ 編輯: a1632619699 (220.132.225.117), 03/24/2016 07:46:01
meowyih: 叫你老師去教有意義點的東西啦 = =a 怎麼讓它動喔, 這樣03/24 10:46
meowyih: int[] tmp = {1,2,3,4,5}; int[] x = tmp; // 這行動了 03/24 10:47
gpctv: 去java版,良葛格那方法你看看 03/24 11:00
我一直有在關注喔 謝謝你的提醒
joshuakai: 1. 你沒實體化,當然會錯誤 2.去JAVA板 03/24 16:14
joshuakai: 不過這個是她規定就是用在初始化,要達到動態建議用03/24 16:18
joshuakai: 上面推的LinkedList03/24 16:18
zanyking: 開個新method: int[] newArr(int... ints)03/25 00:33
zanyking: 實作跟用法不用我講了吧?03/25 00:33
我是第一次學程式學到這麼深的新手 我不知道你在說什麼0.0 ※ 編輯: a1632619699 (220.132.225.118), 03/25/2016 00:46:21
rpdef9969: 用eclipse嗎,在宣告那行ctrl+1>extract method 03/25 02:01
rpdef9969: method spec 照樓上z大提示的修改。 03/25 02:02