如何验证java_如何验证Java的值调用?

我看了Java does everything by call by value.我想知道如何验证这个事实?据我所知,在对象(非基元)的情况下,函数获得自己的引用副本但指向同一个对象.在这种情况下,该对象在被调用函数和调用函数中的引用应该不同?我该如何验证?换句话说,如何打印对象的引用.

System.out.println(object); //does this print reference i.e text following @

编辑:

我知道在callee函数中修改对象会改变调用函数中的值.我感兴趣的是如何打印对象的引用,因为我可以在控制台上打印哪些属性,这清楚地显示了我2个不同的参考.

解决方法:

Java按值传递引用.这意味着您将获得引用的副本,因此一旦取消引用,您将获得堆中与原始引用相同的对象.

但是如果Java通过引用传递:

public static void nullify(Object obj) {

obj = null;

}

public static void main(...) {

String x = "Hello";

nullify(x);

System.out.println(x);

}

对S.o.p.的呼吁如果Java通过引用传递,则会打印null.但它不是,所以x没有变化,你会得到你好.

标签:java,parameter-passing

来源: https://codeday.me/bug/20190721/1494775.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值