一尘不染

在Java中的方法调用接受的实践中传递“ this”

java

在方法调用中传递当前对象是好/坏/可接受的做法。如:

public class Bar{
    public Bar(){}

    public void foo(Baz baz){
        //  modify some values of baz
    }
}

public class Baz{
    //constructor omitted

    public void method(){
        Bar bar = new Bar();
        bar.foo(this);
    }
}

具体来说,该行bar.foo(this)可接受吗?


阅读 199

收藏
2020-12-03

共1个答案

一尘不染

没有理由不使用它,它this是当前实例,并且使用完全合法。实际上,通常没有清除它的干净方法。

因此使用它。

由于难以令人信服地没有示例是可以接受的(对这个问题的否定答案总是更容易争论),我只是打开了最常见的java.langString之一,当然,例如,我找到了这种用法的实例

1084        // Argument is a String
1085        if (cs.equals(this))
1086            return true;

查找(this在大“接受”的项目,你不会不发现它。

2020-12-03