java基础
String a = new String("Y");
String b = a;
System.out.println("a:"+a+" b:"+b);
a = "N";
System.out.println("a:"+a+" b:"+b);
a = new String("N");
System.out.println("a:"+a+" b:"+b);
输出
a:Y b:Y
a:N b:Y
a:N b:Y
说明:a和b指向了同一地址,当a改变时只是重新指向了新的地址,所以当a改变时b没有跟着变
card a = new card("Y");
card b = a;
System.out.println("a:"+a.getNumber()+" b:"+b.getNumber());
a.setNumber("N");
System.out.println("a:"+a.getNumber()+" b:"+b.getNumber());
输出
a:Y b:Y
a:N b:N
说明:实例a和实例b是指向了同一对象地址,card b = a 其实是把a指向的地址赋值给了b实例,当a对象改变时b对象也会跟着变
Vector<String> a = new Vector<String>();
Vector<String> b = a;
a.add("123");
b.add("456");
a = null;
System.out.println(b == null);
System.out.println(b.get(0));
输出
false
123
上一篇: oracle
下一篇: java 两list求交集