渔人码头

天行健,君子以自强不息。地势坤,君子以厚德载物。
posts - 12, comments - 16, trackbacks - 0, articles - 43
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

String 与 char[] 的问题

Posted on 2007-02-13 16:53 Fisher 阅读(446) 评论(1)  编辑  收藏 所属分类: Java 学习笔记
面试的时候遇到这样一个问题
package com.fisher.string;

public class TestStringChange {

    
public void change(String a, char[] b) {
        a 
= "Jennfier";
        b[
0= 'F';
    }

    
public static void main(String[] args) {
        TestStringChange test 
= new TestStringChange();

        String a 
= "Fisher";
        
char[] b = { 'f''i''s''h' };

        test.change(a, b);
        System.out.println(a);
        System.out.println(b);
    }
}

这个是比较容易迷惑的问题。

String 是对象,传引用调用后,穿过方法change 里去的a 是一份指向"Fisher"对象的指针,当  在change里面改变后,指向别的对象“Jennfier"后,在原来的main 方法里不受影响,改变的不是"Fisher"对象,而是改变该方法的指针a 的指向

但是char[] 数组就会改变了,因为在change  方法里改变的是char[] 数组的内容

答案是

Fisher
Fish


评论

# re: String 与 char[] 的问题[未登录]  回复  更多评论   

2009-10-17 10:22 by alex
不对

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问