[问题] 烦请高手解答

楼主: 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