作者a1632619699 (Crable)
看板Soft_Job
标题[请益] 烦请java的高手解答
时间Wed Mar 23 10:31:16 2016
大家都知道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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1458700278.A.FD6.html
1F:推 abola921: java有专版,另外使用Collection就好了03/23 10:40
2F:→ wave1et: int[] x=new int[5]; 配置二个物件03/23 10:41
3F:→ wave1et: int[] x;配置一个物件。JAVA是纯物件导向语言。03/23 10:43
4F:→ wisehuang: 省事就用ArrayList最後toArray03/23 10:48
5F:→ ssccg: 楼楼上不对,new int[5]是配置一个物件,int[] x;没有配置03/23 11:07
6F:→ ssccg: 只是宣告一个参考,如果是物件栏位会初始化成null03/23 11:10
7F:→ ssccg: 然後原po的问题,{0,0,0,0,0}这种只能用在宣告的时候03/23 11:11
8F:→ iamshiao: 这应该在专版问+1,而且我还真是看不懂你的问题03/23 11:12
9F:→ ssccg: 之後才配置的话要用 x = new int[] {0,0,0,0,0};03/23 11:12
10F:→ iamshiao: 问题是{}的写法,不在宣告的同时写的话要怎麽写吗?03/23 11:15
11F:→ meowyih: 要不要问我很讨厌看到分号, 有没有办法不用分号写 Java03/23 11:27
12F:→ meowyih: 算了 = =a (答: 去写 SWIFT :p)03/23 11:27
13F:→ kurakidream: 先把你的问题厘清,我也看不懂在问什麽XD03/23 11:33
14F:→ gpctv: 我很认真看,也看不太懂,不然真的就像楼上说的用collection03/23 12:03
15F:→ gpctv: 解决啊03/23 12:03
16F:→ Masakiad: 上面讲的配置=instance??03/23 12:04
17F:→ meowyih: "配置" 二字直的直接翻译应该是 "allocate" 吧 (台湾不03/23 12:19
18F:→ meowyih: 像日本对技术用语有政府部门统一的管理和翻译, 所以还是03/23 12:19
19F:→ meowyih: 用英文吧...)03/23 12:19
※ 编辑: a1632619699 (120.115.136.150), 03/23/2016 12:50:15
20F:→ gpctv: 楼上的,以前大学老师有说过,他说日本都有统一翻译,我还在想03/23 12:51
21F:→ gpctv: 怎麽可能,想不到是真的!!!! 03/23 12:51
22F:推 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
23F:推 Snack: new了就是给他 '连续'记忆体空间 03/23 20:30
24F:推 Snack: {0,0,0,0}也跟new出来一样啊..阵列指向这四个 连续 记 03/23 20:35
25F:→ Snack: 忆体位置 03/23 20:35
26F:推 atpx: 教授可能要你做出类似阵列的功能吧 03/24 02:49
27F:→ atpx: 但是java不允许操纵记忆体, 你只能用类似linked list方式做 03/24 02:49
28F:→ atpx: ArrayList应该也不行, 因为底层一样是先new个100的阵列空间 03/24 02:50
29F:推 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
30F:→ meowyih: 叫你老师去教有意义点的东西啦 = =a 怎麽让它动喔, 这样03/24 10:46
31F:→ meowyih: int[] tmp = {1,2,3,4,5}; int[] x = tmp; // 这行动了 03/24 10:47
32F:→ gpctv: 去java版,良葛格那方法你看看 03/24 11:00
我一直有在关注喔 谢谢你的提醒
33F:→ joshuakai: 1. 你没实体化,当然会错误 2.去JAVA板 03/24 16:14
34F:→ joshuakai: 不过这个是她规定就是用在初始化,要达到动态建议用03/24 16:18
35F:→ joshuakai: 上面推的LinkedList03/24 16:18
36F:推 zanyking: 开个新method: int[] newArr(int... ints)03/25 00:33
37F:→ zanyking: 实作跟用法不用我讲了吧?03/25 00:33
我是第一次学程式学到这麽深的新手 我不知道你在说什麽0.0
※ 编辑: a1632619699 (220.132.225.118), 03/25/2016 00:46:21
38F:→ rpdef9969: 用eclipse吗,在宣告那行ctrl+1>extract method 03/25 02:01
39F:→ rpdef9969: method spec 照楼上z大提示的修改。 03/25 02:02