现在的位置: 首页 > 综合 > 正文

字符串以及对象引用的问题

2013年10月05日 ⁄ 综合 ⁄ 共 762字 ⁄ 字号 评论关闭

1.问题提出

       Java中的String字符串对象的内容不可改变。刚学习Java时对于字符串对象的理解不够深入,尤其是String对象。所以有时会对其运行过程不大清楚,在此加以说明。

2. 举例说明

        例1:

public class StringTest {

    
public static void main(String[] args) {
        
        String a 
= "Hello";
        link(a);
        System.out.println(a);
    }

    
    
/**
     * 
     * 功能:传入a对象,测试函数调用完后a的值。
     *
     * 
@param a
     
*/

    
public static void link(String a) {
        a 
+= " World";
        System.out.println(
"a : " + a);
    }


}
     该程序输出结果如下:
            a : Hello World
            Hello

 3. 运行过程说明

        String a = "Hello"; 这条语句执行后确实产生了一个指向字符串“Hello”的引用。
        当调用方法link()时,在方法体内部又有了新的对象“Hello World”(这是字符串连接后得到的字符串对象)。在方法体内部输出的是“Hello World”,但在方法体外部输出时却是“Hello”。
        这是因为对象a在方法link()中传入的是a的拷贝,在方法体内引用的拷贝最后指向的是连接后的客串,而原来的对象(“Hello”)的引用不变。

 

抱歉!评论已关闭.