• 1.6k

[已解决]头条视频面试题关于 java String,为什么下面代码输出 123 而不是 abc?

头条视频面试题,为什么下面代码输出 123 而不是 abc?

public class Main {  
    void replace(StringHolder a) {  
        a = new StringHolder("abc");  
    }  

    static class StringHolder {  
        public StringHolder(String value) {  
            this.value = value;  
        }  
        public String value;  
    }  

    public static void main(String[] args) {  
        Main m = new Main();  
        StringHolder test = new StringHolder("123");  
        m.replace(test);
        System.out.println(test.value);
    }  
}
阅读 858
评论
    3 个回答

    replace方法更改了a的指向,此时随便怎么改都不会影响main方法里的test了。

      相似问题
      推荐文章