如何对Java中的基元进行等效的传递
这个Java代码:
public class XYZ { public static void main(){ int toyNumber = 5; XYZ temp = new XYZ(); temp.play(toyNumber); System.out.println("Toy number in main " + toyNumber); } void play(int toyNumber){ System.out.println("Toy number in play " + toyNumber); toyNumber++; System.out.println("Toy number in play after increement " + toyNumber); } }
将输出:
玩具编号5 在协议6之后玩具号码 主要玩具编号5
在C ++中,我可以通过toyNumber
引用传递变量以避免阴影,即创建同一个变量的副本,如下所示:
void main(){ int toyNumber = 5; play(toyNumber); cout << "Toy number in main " << toyNumber << endl; }void play(int &toyNumber){ cout << "Toy number in play " << toyNumber << endl; toyNumber++; cout << "Toy number in play after increement " << toyNumber << endl; }
并且C ++输出将是这样的:
玩具编号5 在协议6之后玩具号码 主要玩具编号6
我的问题是 - 考虑到Java是通过值传递而不是通过引用传递,Java中的等效代码与C ++代码获得相同的输出是什么?
慕容3067478
相关分类