大家都知道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 分開?
完全搞不懂 為啥要不準用new…我反而覺得應該是你誤解教授的意思,不要先配置記憶體以後再配置應該是動態配置的概念。
作者:
NullLife (廢材大叔有點累)
2016-03-23 23:37:00陣列是物件 在java的世界裡 物件就是要new才會有你應該要去搞懂教授 不准用new 的真正意思是什麼?
不太懂... 不管怎樣還是會用到 new 啊只是藏在其他 method 你看不到而已 這樣算不用 new 嗎?Arrays.asList("","","","","").toArray(); 但何必呢...?
作者: dou0228 (7777) 2016-03-23 21:42: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:00Java的array一律是動態配置的,沒有什麼先配置..不管是用new還是其他的方法,最終都是在heap memory(不考慮JVM自動優化)int[] x={0,0,0,0,0};其實是int[] x=new int[]{0,0,0,0,0};的語法糖,compile完就一樣
作者:
D122 (å°é»‘çƒ)
2016-03-25 00:18:00雖然我應該算是新手 不過照你說的 我會 int[] x= null;x={0,0,0,0,0};