定义一个数组String str[] = {"申请ID","流水号"};
为什么不能通过str[] = {"ID","编号"};直接改变数组的值
而只能通过str[0]="ID"; str[1]="编号";来修改//执行下面的语句编译器提示不是一个声明
String str[] = {"申请ID","流水号"};
str[] = {"ID","编号"};//执行下面的语句则是正确
String str[] = {"申请ID","流水号"};
str[0] = {"ID"};
str[1] = {"编号"};大家帮我分析下

解决方案 »

  1.   

    定义数组的时候
    还要在内存中开辟引用,即指针。
    str[0]和str[1]就是数组的引用”str[] = {"ID","编号"};“
    这样当然不能改变数组的值了,数组一旦定义一个数组String str[] = {"申请ID","流水号"};
    它的值只能通过数组间的赋值和通过找到相应的内存地址(即str[0]和str[1])来改变值了要向楼主说的,那内存不乱套了吗?
      

  2.   

    数组定义这后,只能一个一个来赋值.如str[0]=... str[1]=...
      

  3.   

    String str[] = {"申请ID","流水号"};
        String str1[]={"ID","编号"};
         str = str1;
      

  4.   

    别忘了 真正放有值的是数组的元素,只有元素才指向相应的对象(比如你的String对象)那你改变元素指向的对象,肯定是修改对象的引用--元素了啊!
      

  5.   

    这样可以://创建一个字符串数组
    String[] str = new String[] {"申请ID","流水号"};//创建一个新的字符串数组,然后让str指向它
    str = new String[] {"ID","编号"};不过这样就是两个不同的数组了你想要的可能是:“java也许应该有个函数,可以方便地、一次赋完”,但是没有:(
      

  6.   

    String str[] = {"申请ID","流水号"};只能在声明的时候用。