/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
interface IListenner {
void onSuccess(Bar bar);
}
class Bar {
}
public void doUpdate(IListenner l) {
l.onSuccess(new Bar());
}
}
class Outter {
private Bar bar;
// [...]
public void update() {
provider.doUpdate(new IListenner() {
@Override
public void onSuccess(Bar bar) {
Outter.this.bar = bar;
// Here, Outter.this.bar.equals(bar) is false.
System.
out.
println(Outter.
this.
bar.
equals(bar
)); }
});
}
// [...]
}
public class Main {
public static void main
(String[] args
) { new Outter().update();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKCgoKaW50ZXJmYWNlIElMaXN0ZW5uZXIgewogICAgdm9pZCBvblN1Y2Nlc3MoQmFyIGJhcik7Cn0KCmNsYXNzIEJhciB7CiAgICAKfQoKY2xhc3MgUHJvdmlkZXIgewogICAgcHVibGljIHZvaWQgZG9VcGRhdGUoSUxpc3Rlbm5lciBsKSB7CiAgICAgICAgbC5vblN1Y2Nlc3MobmV3IEJhcigpKTsKICAgIH0KfQoKY2xhc3MgT3V0dGVyIHsKICAgIHByaXZhdGUgQmFyIGJhcjsKCiAgICBwcml2YXRlIFByb3ZpZGVyIHByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKCk7CgovLyAgICBbLi4uXQoKICAgIHB1YmxpYyB2b2lkIHVwZGF0ZSgpIHsKICAgICAgICBwcm92aWRlci5kb1VwZGF0ZShuZXcgSUxpc3Rlbm5lcigpIHsKICAgICAgICAgICAgQE92ZXJyaWRlCiAgICAgICAgICAgIHB1YmxpYyB2b2lkIG9uU3VjY2VzcyhCYXIgYmFyKSB7CiAgICAgICAgICAgICAgICBPdXR0ZXIudGhpcy5iYXIgPSBiYXI7CiAgICAgICAgICAgICAgICAvLyBIZXJlLCBPdXR0ZXIudGhpcy5iYXIuZXF1YWxzKGJhcikgaXMgZmFsc2UuCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihPdXR0ZXIudGhpcy5iYXIuZXF1YWxzKGJhcikpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9CgovLyAgICBbLi4uXQoKfQpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgbmV3IE91dHRlcigpLnVwZGF0ZSgpOwogICAgfQp9Cgo=