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

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”)的引用不变。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值