请问以下代码的输出是什么?为什么?import java.util.Arrays;
import java.util.Vector;public class TestSort
{
public static void main(String[] args)
{
int[] a = new int[2];
Vector<int[]> v = new Vector<int[]>(1);
Arrays.fill(a, 1);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
System.out.println("-----------------------"); Arrays.fill(a, 2);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
System.out.println("-----------------------"); Arrays.fill(a, 3);
v.add(a);
Arrays.fill(a, 4);
v.add(a);
Arrays.fill(a, 5);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
}}为什么
Arrays.fill(a, 5);
v.add(a);
这样以后整个Vector的内容都变成了5?
import java.util.Vector;public class TestSort
{
public static void main(String[] args)
{
int[] a = new int[2];
Vector<int[]> v = new Vector<int[]>(1);
Arrays.fill(a, 1);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
System.out.println("-----------------------"); Arrays.fill(a, 2);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
System.out.println("-----------------------"); Arrays.fill(a, 3);
v.add(a);
Arrays.fill(a, 4);
v.add(a);
Arrays.fill(a, 5);
v.add(a); for (int[] i : v)
{
for (int j : i)
{
System.out.println(j);
}
}
}}为什么
Arrays.fill(a, 5);
v.add(a);
这样以后整个Vector的内容都变成了5?
解决方案 »
- 关于打包jar后部分代码段失效的问题,具体的大侠里面请
- 小问题
- 问一个JDK文档中的Throws问题
- 关于setLenient的问题
- java中一个关于日期的问题,欢迎大家讨论!
- JAVA中的字符替换
- 各位请帮忙,分不够可以再给,一旦解决马上结贴!
- 小问题,安扭事件,在线急!!帮下忙!!
- 我很菜!谁能告诉我j2se j2ee 等等这些术语有什么区别,?
- 怎样实现类似于log4j.properties, jndi.properties只要在classpath中就能找到的功能?
- java 通过代理方位外部网?(通过java的URL来访问外网)
- 怎么进行字符串替换, 要求:讲[xxx]中的换成<br>[xxx]</br>
呵呵
不过问题应该还是要弄清楚滴啊!
add
public boolean add(E e)Appends the specified element to the end of this Vector. Specified by:
add in interface Collection<E>
Specified by:
add in interface List<E>
Overrides:
add in class AbstractList<E>
Parameters:
e - element to be appended to this Vector
Returns:
true (as specified by Collection.add(E))
Since:
1.2
如果不用这个Vector,那该用什么呢?