Hopeys 2021-12-11 15:28 采纳率: 75%
浏览 10
已结题

这次结果为何是goodandgbc


public class MyTest {
    String str = new String("good");
    char[] ch = { 'a', 'b', 'c' };

    public static void main(String[] args) {
        MyTest ex = new MyTest();
        ex.change(ex.str, ex.ch);
        System.out.print(ex.str + "and");
        System.out.print(ex.ch);
    }

    public void change(String str, char ch[]) {
        str = "test ok";
        ch[0] = 'g';
    }
}
  • 写回答

1条回答 默认 最新

  • 未聞花名丶 2021-12-11 16:08
    关注

    调用change方法,str只是改了局部变量的内容,不影响外部值,因此还是good
    数组改变了同一个引用地址的内容,所以为gbc

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月11日