当前位置: 技术问答>java相关
一个有关Vector的问题
来源: 互联网 发布时间:2015-03-27
本文导语: 在下面代码中 import java.lang.*; import java.util.*; class A { void dosth(Vector v) { //v.addElement("123"); v= null; } public static void main(String[] args) { A a = new A(); Vector v = new Vector(); v.addElement("ABC"); a.dosth(v); Syst...
在下面代码中
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
//v.addElement("123");
v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的是什么内容。
如果改成
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
v.addElement("123");
//v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的又是什么内容呢。
通过我的测试第一个打印的为ABC,第二个为ABC,123。为什么第一个不改变v的内容,而第二个却改变了。
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
//v.addElement("123");
v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的是什么内容。
如果改成
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
v.addElement("123");
//v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的又是什么内容呢。
通过我的测试第一个打印的为ABC,第二个为ABC,123。为什么第一个不改变v的内容,而第二个却改变了。
|
A a = new A() 这可是新生成了一个对象呀。这个对象里面保存了指向对象v的一个指针,把它置为null并不影响原来的对象v.也就是说,指针是分开保存的,改变一个不会影响到另外一个。
|
在下面代码中
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
//v.addElement("123");
v= null;");---------------对指针进行操作,一开始这个v指向main()里的v,现在指向空;但不影响main()里的那个v。
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的是什么内容。
如果改成
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
v.addElement("123");——————对对象进行操作,这里的v和main()里的v共同指向一个内存地址,该地址里存放着一个Vector,里面有“abc”和“123”
//v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
//v.addElement("123");
v= null;");---------------对指针进行操作,一开始这个v指向main()里的v,现在指向空;但不影响main()里的那个v。
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}
}
System.out.println(v)打印的是什么内容。
如果改成
import java.lang.*;
import java.util.*;
class A {
void dosth(Vector v)
{
v.addElement("123");——————对对象进行操作,这里的v和main()里的v共同指向一个内存地址,该地址里存放着一个Vector,里面有“abc”和“123”
//v= null;
}
public static void main(String[] args)
{
A a = new A();
Vector v = new Vector();
v.addElement("ABC");
a.dosth(v);
System.out.println(v);
}