gpt4 book ai didi

java - Java "new Type[]{...}"数组文字初始化是什么类型的语法?

转载 作者:行者123 更新时间:2023-11-29 06:49:29 26 4
gpt4 key购买 nike

引起我注意但我无法向自己解释的是对这段众所周知的代码的思考:

String[] str = new String[]{"a","b","c"};

new String[] 是类型转换吗?如果是,为什么我们使用 new 而没有括号?我们会这样投:

float i = (float) 3;

它似乎也不是构造函数,因为那样我们就可以像函数调用一样使用它(例如 new String[](...))。

那么它是什么样的语法,我们在 Java 中有更多这样的语法吗?

最佳答案

此语法是 10.6. Array Initializer 的示例作为 15.10.1. Array Creation Expression 的一部分.

An array initializer may be specified in a field declaration (§8.3, §9.3) or local variable declaration (§14.4), or as part of an array creation expression (§15.10.1), to create an array and provide some initial values.

new String[]

是一个数组创建表达式,

{"a","b","c"}

是一个数组初始值设定项。

由于您的数组创建表达式中没有维度表达式(即方括号内没有任何内容),因此必须有一个数组初始值设定项:

If there are no dimension expressions, then there must be an array initializer. A newly allocated array will be initialized with the values provided by the array initializer as described in §10.6.

关于java - Java "new Type[]{...}"数组文字初始化是什么类型的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com