我想在字符串数组中添加一个元素,但是这个数组名不能更改。因为我现在在修改一段代码,就是想在这个String[] toEmail 里,增加一个新的email,由于下面多处用到了 toEmail,所以我想问能不能在不改变数组的情况下添加?或者还有什么方法实现?  期待高手解答。

解决方案 »

  1.   

    获取当前字符串数组的长度,新建一个比该长度长一的数组,在将内容拷贝进去,在将新的赋给toEamil
    这样不行吗?
     这方法是笨了点
      

  2.   

    看了下API
    可以用 toEmail=Arrays.copyOf(toEmail,toEmail.length+1);
    toEmail[toEmail.length]=新的EMAIL;
      

  3.   

    修正下,上面的有问题
    可以用 toEmail=Arrays.copyOf(toEmail,toEmail.length+1); 
    toEmail[toEmail.length-1]=新的EMAIL;
      

  4.   

    System类下面的arraycopy方法也可以
      

  5.   

    2种方法:
    1,用ArrayList
    2,用Arrays.copyOf,例如:
    static String[]s1={"a","b","c"};
    public static void main(String[] args) {
    s1=Arrays.copyOf(s1, s1.length+1);
    s1[s1.length-1]="d";
    for(String s:s1){
    System.out.println(s);
    }
    }
      

  6.   

    System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
      

  7.   

    List list = Arrays.asList(toEmail);
    list.add("新的Email");
    toEmail = (String) list.toArray();
    这里用集合的API