【发布时间】:2016-11-14 22:30:36
【问题描述】:
我正在在线关注 Java 教程,尝试学习该语言,它在使用数组的两种语义之间来回切换。
long results[] = new long[3];
results[0] = 1;
results[1] = 2;
results[2] = 3;
和:
long results[] = {1, 2, 3};
本教程从未真正提到为什么它在两者之间来回切换,所以我搜索了一些关于该主题的内容。我目前的理解是 new 运算符正在创建一个“长数组”类型的对象。我不理解的是我为什么要这样做,这样做的后果是什么?
- 是否有某些特定于“数组”的方法在数组上不起作用,除非它是“数组对象”?
- 有什么是我不能用“数组对象”做的,而我可以用普通数组做的吗?
- Java VM 是否必须清理使用
new运算符初始化的对象,而通常不需要这样做?
我来自 C,所以我的 Java 术语在这里可能不正确,所以如果有什么不明白的地方,请要求澄清。
【问题讨论】:
-
long[] results = {1, 2, 3}只是 Java 中的一种特殊语法,它是new long[] {1, 2, 3}的缩写,它本身就是long[] results = new long[3]; results[0] = 1; results[1] = 2; results[2] = 3;的缩写
标签: java new-operator