如何对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 ++代码获得相同的输出是什么?
3 回答

慕容3067478
TA贡献1773条经验 获得超3个赞
做一个
class PassMeByRef { public int theValue; }
然后将引用传递给它的实例。请注意,最好避免通过其参数改变状态的方法,尤其是在并行代码中。
添加回答
举报
0/150
提交
取消