我目前很无聊,正在做一些 Java 练习测试,因为我已经用 Java 编程很长时间了。在提出某个问题之后,我现在想知道以下之间的区别:
String[] test1 = { "A", "B", "C" };
String[] test2 = new String[]{ "A", "B", "C" };
String test3[] = { "A", "B", "C" };
String test4[] = new String[]{ "A", "B", "C" };
当我在 Java IDE 中输入此内容时,我没有收到任何错误。我还没有尝试编译它们中的任何一个(尽管我主要使用过test2
我自己过去,所以我知道其中一个有效)。
- 那么,这些都可以编译吗?
- 如果是,有什么区别(如果有)?
- (Is
test1
性能优于test2
因为你不做一个新的String[]
-实例化,或者这是在幕后完成的?)
- (If
test1
是相同的test3
: 为什么test3
and test4
如果与以下内容相同,则在 Java 中存在test1
and test2
?有没有使用的情况[]
字段名称后面优先于类型后面?)
- (除了这四种之外,还有更多(几乎相似的)变体吗?)
- (以及其他类似的问题。)
只是出于好奇想知道。我想我们每天都会学到新东西。
它们都是等价的。
是的,你自己也可以验证。
- 如果是,有什么区别(如果有)?
- (test1 的性能是否比 test2 更好,因为您没有创建新的 String[] 实例化,或者这是在幕后完成的?)
编译后的字节码没有差异。
- (如果test1与test3相同:如果与test1和test2相同,为什么还会存在test3和test4?)
这只是另一种编写方式,因为数组索引可以放在类型名称之后以及标识符名称之后。唯一的区别是,如果在一行中声明多个变量,如果索引放在类型名称后面,则所有列出的标识符都将是该类型的数组,而如果索引放在标识符名称后面,则只有该标识符将是数组。
Example:
String[] array1, array2; // Both are arrays
String array3[], notArray4; // Only array3 is array
我建议将索引放在类型之后 (String[] array1
)所以它是明确的。
(除了这四种之外,还有更多(几乎相似的)变体吗?)
从来没听说过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)