如何在Java中交换两个对象?

时间:2015-12-04 22:11:38

标签: java

我有一个为Fraction对象编写的类。我需要交换两个Fraction对象,而不是对象的内容。这是我的代码。

public void fswap(Fraction other){
    Fraction temp = other.copy();
    other = this;
    this = temp;

copy()方法返回与调用它的对象相同的Fraction对象。此代码的最后一行在我的IDE中抛出一个错误“无法为最终变量赋值”。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

无法在Java中编写交换方法,交换对象而不是内容。这几乎是不可能的。这是按值传递语言的一个显着特征,尽管记住Java通过 value 传递引用总是很重要。