我有一个为Fraction对象编写的类。我需要交换两个Fraction对象,而不是对象的内容。这是我的代码。
public void fswap(Fraction other){
Fraction temp = other.copy();
other = this;
this = temp;
copy()方法返回与调用它的对象相同的Fraction对象。此代码的最后一行在我的IDE中抛出一个错误“无法为最终变量赋值”。非常感谢任何帮助。
答案 0 :(得分:5)
你无法在Java中编写交换方法,交换对象而不是内容。这几乎是不可能的。这是按值传递语言的一个显着特征,尽管记住Java通过 value 传递引用总是很重要。