数组初始化差异java [英] Array initialization differences java

查看:110
本文介绍了数组初始化差异java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下两种数组初始化方法有什么区别:

What is the difference between the two following methods of array initialization:


  1. Object [] oArr = new Object [] {new Object(),new Object()};

  2. Object [] oArr = {new Object(), new Object()};

  1. Object[] oArr = new Object[] {new Object(), new Object()};
  2. Object[] oArr = {new Object(), new Object()};

它与堆/堆栈分配有关吗?

Is it related to heap/stack allocation?

谢谢!

推荐答案

根本没有 - 它们只是表达方式的不同方式同样的事情。

None at all - they're just different ways of expressing the same thing.

然而,第二种形式仅在变量声明中可用。例如,你不能写:

The second form is only available in a variable declaration, however. For example, you cannot write:

foo.someMethod({x, y});

但你可以写:

foo.someMethod(new SomeType[] { x, y });

Java语言规范的相关部分是 10.6 - 阵列初始化器

The relevant bit of the Java language specification is section 10.6 - Array Initializers:


数组初始值设定项可以在声明中指定,
或作为数组创建表达式(第15.10节)的一部分,创建数组并提供一些初始值:

An array initializer may be specified in a declaration, or as part of an array creation expression (§15.10), creating an array and providing some initial values:

这篇关于数组初始化差异java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆