将数组声明为实例或成员。

时间:2015-03-12 17:41:36

标签: java

由于某种原因,您无法执行以下代码,但您可以在方法中执行此操作。为什么呢?

public class Frame {
String text [] = new String[];
}

2 个答案:

答案 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,否则会发生编译时错误。