Java数组问题,谁能说说怎么回事啊?

我定义了一个数组

String[] str={"afsdfs","fwfwfwf"};

 .......

 for(int i=2;i<=10;i++)
 {
    str[i]=things;  //然后这里就提示Array constant can only be used in initializers
    }

    things是我前面定义的字符串变量

    请问把数据怎么插入数组?

另外,String[] str={"afsdfs","fwfwfwf"};,那么str长度是2
for(int i=2;i<=10;i++)
这就不行了

String[] str={"afsdfs","fwfwfwf","","","","","","","","",""};
这样试试看

你的代码写在哪里了,是不是写在了函数的外面,直接写在类定义里了。

意思是Java String数组里边的元素好像初始化后就不能改变了

这样没问题

 public static void main(String[] args) {
        String things = "1";
        String[] str = { "afsdfs", "fwfwfwf" };
        for (int i = 0; i < str.length; i++) {
            str[i] = things; // 然后这里就提示Array constant can only be used in
                                // initializers
        }
    }

str数组大小为2,下边应该就不能赋值了吧

我用这种办法解决了
String len=String.valueOf(users.length);
users=Arrays.copyOf(users, users.length+2);
users[users.length-2]=str1;
users[users.length-1]=str2;

我觉得不是因为数组的大小为2,
试想,如果定义一个字符串数组,
String string="hello_world";
String[] arrString=string.split("_");

    for (int i = 0; i < arrString.length; i++) {
        System.out.println(arrString[3]);
    }
    出现:
    java.lang.ArrayIndexOutOfBoundsException

    解决办法:
String string="hello_world_myName_is";
    String[] arrString=string.split("_");
    就把这四个元素添加到数组里了,如果你嫌打字麻烦,可以
这样:
String strings="HelloWorld"
String str="";
for(int i=0;i<10;i++)
{
Str+=Strings+"_";//这样最后会多一个这个元素-》“”
}

String[] arrString=Str.split("_");

可以试试使用stringbuilder,这个是可变字符串,可以随意添加字符

Array constant can only be used in initializers数组常数只能用于初始化,推荐使用StringBuffer

你这输入 赋值 就是2个,,下边还怎么往里赋值啊 用stringbuilder