黑马程序员技术交流社区

标题: 关于引用变量的问题 [打印本页]

作者: che201311    时间: 2013-11-22 23:23
标题: 关于引用变量的问题
public class Example {                      
             String str = "hello,java";                      
              char[] ch ={'a','b','c'};                      
  public void change(String str,char ch[]){                            
            str = "test ok";                            
             ch[0]='G';                         
}
public static void main(String[] args){                     
                Example ex = new Example();                     
                ex.change(ex.str,ex.ch);                   
                 System.out.println(ex.str+"....");                     
                System.out.println(ex.ch);
请问,为什么结果 ex.ch变成了GBA而ex.str却还是 "hello,java"呢?

打印结果是
hello,java....
Gbc
作者: 零下五度的水    时间: 2013-11-23 00:34
因为 String 是 final 的,不能修改对象只能修改引用,
方法的参数是不会改变引用的
作者: hurryup    时间: 2013-11-23 01:56
你在方法你面在声明一下String str应该就可以改变了吧?
作者: likeermei    时间: 2013-11-23 15:39
String是引用类型,传值相当于内存的一个拷贝,而且String类型是常量,值不会改变。方法change是不




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2