由于某种原因,您无法执行以下代码,但您可以在方法中执行此操作。为什么呢?
public class Frame {
String text [] = new String[];
}
答案 0 :(得分:1)
您没有为阵列指定大小。 Java中的数组具有固定大小,在创建它们时必须提供。因此,如果您想要一个可以存储10个元素的数组,那么您可以使用:
String[] text = new String[10];
将10替换为您需要的任何尺寸。如果您不知道尺寸,或者需要更改尺寸,请考虑改用List<>
。
答案 1 :(得分:1)
请参阅之前的教程:Java Arrays
你的声明在语法上是不正确的,它应该是:
String text [] = new String[0]; // 0-> size you want for your array
更多详情(评论答案):来自JLS-15.10.1
ArrayCreationExpression:
new PrimitiveType DimExprs [Dims]
new ClassOrInterfaceType DimExprs [Dims]
new PrimitiveType Dims ArrayInitializer
new ClassOrInterfaceType Dims ArrayInitializer
DimExprs:
DimExpr {DimExpr}
DimExpr:
{Annotation} [ Expression ]
DimExpr中每个维度表达式的类型必须是可转换(第5.1.8节)为整数类型的类型,否则会发生编译时错误。
每个维度表达式都经过一元数字推广(第5.6.1节)。提升类型必须为int,否则会发生编译时错误。