在方法调用中传递当前对象是好/坏/可接受的做法。如:
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)可接受吗?
bar.foo(this)
没有理由不使用它,它this是当前实例,并且使用完全合法。实际上,通常没有清除它的干净方法。
this
因此使用它。
由于难以令人信服地没有示例是可以接受的(对这个问题的否定答案总是更容易争论),我只是打开了最常见的java.lang类String之一,当然,例如,我找到了这种用法的实例
java.lang
String
1084 // Argument is a String 1085 if (cs.equals(this)) 1086 return true;
查找(this在大“接受”的项目,你不会不发现它。
(this