引起我注意但我无法向自己解释的是对这段众所周知的代码的思考:String[] str = new String[]{"a","b","c"};是new String[]演员表吗?如果是,为什么我们使用new和不使用括号?我们将转换为:float i = (float) 3;它似乎也不是构造函数,因为那样我们会像函数调用一样使用它(例如new String[](...))。那么它是一种什么样的语法,我们在 Java 中有更多这种语法吗?
3 回答
慕后森
TA贡献1802条经验 获得超5个赞
此语法是10.6的示例。Array Initializer作为15.10.1 的一部分。数组创建表达式。
数组初始值设定项可以在字段声明(第 8.3 节、第 9.3 节)或局部变量声明(第 14.4 节)中指定,或作为数组创建表达式的一部分(第 15.10.1 节)来创建数组并提供一些初始值.
new String[]
是一个数组创建表达式,并且
{"a","b","c"}
是一个数组初始化器。
由于您的数组创建表达式中没有维度表达式(即方括号内没有任何内容),因此必须有一个数组初始值设定项:
如果没有维度表达式,则必须有一个数组初始值设定项。新分配的数组将使用数组初始化器提供的值进行初始化,如 §10.6 中所述。
添加回答
举报
0/150
提交
取消