[問題] 煩請高手解答

作者: a1632619699 (Crable)   2016-03-23 12:56:13
大家都知道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配置)
作者: dou0228 (7777)   2016-03-24 09:16:00
Java 就是要用new,你不用,藏起來沒差還是指 define 跟 declare 分開?
作者: steven11329 (清新柳橙)   2016-03-24 08:05:00
完全搞不懂 為啥要不準用new…我反而覺得應該是你誤解教授的意思,不要先配置記憶體以後再配置應該是動態配置的概念。
作者: NullLife (廢材大叔有點累)   2016-03-23 23:37:00
陣列是物件 在java的世界裡 物件就是要new才會有你應該要去搞懂教授 不准用new 的真正意思是什麼?
作者: kiwatami (悠游自在)   2016-03-23 22:49:00
不太懂... 不管怎樣還是會用到 new 啊只是藏在其他 method 你看不到而已 這樣算不用 new 嗎?Arrays.asList("","","","","").toArray(); 但何必呢...?
作者: dou0228 (7777)   2016-03-23 21:42:00
為啥不先講你的原始需求是啥
作者: steven11329 (清新柳橙)   2016-03-23 17:55:00
你是不是要問動態配置啊?
作者: ssccg (23)   2016-03-23 15:08:00
你的用new配置是指什麼? 你覺得可能有什麼其他的配置方法?先說好了不管你用什麼方式配置,JVM底層都是把array存在同一個地方java.lang.reflect.Array.newInstance()用你的舉例來說,new是叫A找X蓋房子,reflection是叫B找X蓋房子,用jni function是叫C找X蓋房子,最終都是X蓋房子所以我的問題是你的"用new",是單指程式寫了new(叫A找人蓋)還是實際的行為(X蓋了房子)
作者: LPH66 (-6.2598534e+18f)   2016-03-23 14:42:00
水晶球猜測: 你想配置一個有初始值的陣列但不想寫在開頭如果是這樣的話, 把 int[] x; 的宣告往下搬到你要的地方java 的變數不必要全部都擠在開頭宣告
作者: ssccg (23)   2016-03-23 13:58:00
你先說清楚你不用new的目的在哪?不希望程式中有new? 還是?
作者: bitlife (BIT一生)   2016-03-23 13:18:00
拿別人(function)配好的來用,不過層層下去,最後總有一個實際負責配置的code(java or jni)
作者: ssccg (23)   2016-03-24 11:29:00
Java的array一律是動態配置的,沒有什麼先配置..不管是用new還是其他的方法,最終都是在heap memory(不考慮JVM自動優化)int[] x={0,0,0,0,0};其實是int[] x=new int[]{0,0,0,0,0};的語法糖,compile完就一樣
作者: ilikeme5566   2016-03-24 16:35:00
宣告時給初始化 int[] x = null;
作者: D122 (小黑球)   2016-03-25 00:18:00
雖然我應該算是新手 不過照你說的 我會 int[] x= null;x={0,0,0,0,0};

Links booklink

Contact Us: admin [ a t ] ucptt.com