public class TestString{
public static void link(String a){
a += "World";
}
public static void main(String[] args){
String a = "Hello";
link(a);
System.out.println(a);
}
}
打印出来的结果是好多人想得不一样,即使一样很多人的思路也是错的(也就是瞎猜的)
请指点!!!!!!!
...全文
372478打赏收藏
华为面试第一题就把我整晕了!!
public class TestString{ public static void link(String a){ a += "World"; } public static void main(String[] args){ String a = "Hello"; link(a); System.out.println(a); } } 打印出来的结果是好多人想得不一样,即使一样很多人的思路也是错的(也就是瞎猜的) 请指点!!!!!!!
其实上面已经有人解释了。
唉,今天不睡觉了,再解释解释,其实也不是我说的,我是听侯捷说的,其实也不是侯捷说的,他也是翻译过来的(要是多写点文字能赚稿费就好了:)。
对于这个程序,
public class TestInteger{
public static void change(Integer i) {
i = new Integer(2);
}
public static void main(String[] args){
Iteger i = new Integer(1);
change(i);
System.out.println(i);
}
}
//////////////////////////////////////////////////
Iteger i = new Integer(1);
change(i);