繁体   English   中英

Java中的数组创建语法

[英]Array creation syntax in Java

这是Java中数组创建的语法:

ArrayCreationExpression:
new PrimitiveType DimExprs [Dims]
new ClassOrInterfaceType DimExprs [Dims]
new PrimitiveType Dims ArrayInitializer
new ClassOrInterfaceType Dims ArrayInitializer

DimExprs:
DimExpr {DimExpr}

DimExpr:
{Annotation} [ Expression ]

Dims:
{Annotation} [ ] {{Annotation} [ ]}

为什么在这里: new PrimitiveType DimExprs [Dims] Dims在括号中? 如果它在括号中,那么我可以这样写: new int [2][2] [[] []]其中[2][2]DimExprs部分, [] []Dims部分。 我在这做错了什么?

似乎答案是在我眼前,但不知怎的,我错过了它。 以下是Java规范的原因:

生产右侧的语法[x]表示零或一次出现x。 也就是说,x是可选符号。 包含可选符号的替代方法实际上定义了两种选择:一种省略可选符号,另一种包含它。

这意味着您可以编写String[][][] s = new String[2][][];

链接: https//docs.oracle.com/javase/specs/jls/se8/html/jls-2.html#jls-2.4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM