如何全局声明一个数组,但稍后再设置其值?

时间:2018-08-29 16:56:53

标签: java arrays

我想在我的程序中使用数组,但是数组中的值将在变为空后设置。我知道我可以通过arr [0]设置值,但是我必须设置10个名称,因为这很繁琐,我一直在寻找更好的解决方案。

    class sample{
    String[] names=new String[10];
    void main(){
    names={"ram","shyam","raj","mohan","raja","adam","ramela","ramwala","ramesh","manu"};
}
}

这是我尝试过的方法,但是它给我一个错误,提示名称= {“ ram” ....};不是声明。 帮助将不胜感激

2 个答案:

答案 0 :(得分:3)

您可以使用

names= new String[]{"ram","shyam","raj","mohan","raja","adam","ramela","ramwala","ramesh","manu"};

数组初始化程序语法只能在变量声明时使用,因此以后您必须使用new关键字来初始化数组。

From Docs

  

An array initializer may be specified in a declaration(§8.3,§9.3,   §14.4),或者作为数组创建表达式的一部分(§15.10),to create   an array and provide some initial values.

答案 1 :(得分:0)

在声明或实例化数组后,不能将 {...} 文字声明用于数组。您将需要在 name 声明期间分配这些值,或者遍历数组并为每个索引分配值。

String[] names = new String[10]{“ram”,...};