public class duixiang {
public static void main(String [] args){
String ab = "5";
String b=ab;
ab="6";
System.out.println(ab);
System.out.println(b);
}
}
这个的结果为什么ab=6,b=5,b指向的是ab的引用
public class duixiang {
public static void main(String [] args){
String ab = "5";
String b=new String();
b=ab;
ab="6";
System.out.println(ab);
System.out.println(b);
}
}
我觉得这样才是ab=6,b=5
public static void main(String [] args){
String ab = "5";
String b=ab;
ab="6";
System.out.println(ab);
System.out.println(b);
}
}
这个的结果为什么ab=6,b=5,b指向的是ab的引用
public class duixiang {
public static void main(String [] args){
String ab = "5";
String b=new String();
b=ab;
ab="6";
System.out.println(ab);
System.out.println(b);
}
}
我觉得这样才是ab=6,b=5
然后b=ab,所以b也指向常量池的"5"
然后ab指向常量池的"6"
所以ab=6,b=5
有什么问题?
public class duixiang {
public static void main(String [] args){
String ab = "5";
String b=ab;//现在,b,ab都指向常量池中的"5"
ab="6";//现在,ab指向常量池中新产生的"6",而原来的"5"依旧存在,
//这里只是改变了ab的指向,b仍旧指向"5"
System.out.println(ab);
System.out.println(b);
}
}
一看就没错啊,ab把值给b了呀
String ab = "5";//开始ab="5";
String b=ab;//b=ab=5;也就是说b="5"
ab="6";//让ab="6"
System.out.println(ab);//输出6
System.out.println(b);//输出5