Java中怎么给数组批量赋值

来源:百度知道 编辑:UC知道 时间:2024/05/19 01:52:50
只知道在声明数组的时候可以批量赋值 例如:int[] a={1,2,3}
那声明后,在方法中还能对a进行批量的赋值吗?如 a={4,5,6}.
有什么方法可以做到呢?
先谢谢yangyu125了!这样试过,确实没有问题。但是要在代码中对数组a进行多次的批量赋值呢?难道要一直用a=new int[]{}吗? 那不是每次赋值都要在内存中新建对象,大量浪费内存啊!

不能再进行你所说的批量赋值,数组一但声明后,其个数就是固定的了,要对数组元素进行修改可以用循环进行赋值,
for(int i=0,j=4;i<arr.length;i++,j++)
{
arr[i]=j;
}
即让arr[0]=4;arr[1]=5;arr[2]=6;

int[] a={1,2,3};
这句话 我估计,大部分人都还没完全理解它的含义

首先,{1,2,3}这样的表达式,它一出现,就在内存中以一个整型数组出现了
类似"字符串" 一样,以双引号出现,系统默认的就把它当成一个java.lang.String的实例。
所以 当系统自动建立数组对象之后,才将引用传给 数组对象引用 a

后面你使用a={1,2,3,4,5} 直接这样是不行的。(注意和String a="aaa";的区别)
因为a的含义容易出现歧义,所以JAVA的机制不支持这种赋值,
但是另一种是可行的,a=new int[]{1,2,3,4,5,6};

不信你可以运行我下面的代码

public class Test {

/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
int []a={1,2,3};
for(int i=0;i<a.length;i++) System.out.println(a[i]);

a=new int[]{1,2,3,4,5,6};
for(int i=0;i<a.length;i++) System.out.println(a[i]);

}

}

java中给字符数组批量赋值,可以使用for-each来给字符数组赋值,代码如下:

<