fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7.  
  8.  
  9.  
  10.  
  11. interface IListenner {
  12. void onSuccess(Bar bar);
  13. }
  14.  
  15. class Bar {
  16.  
  17. }
  18.  
  19. class Provider {
  20. public void doUpdate(IListenner l) {
  21. l.onSuccess(new Bar());
  22. }
  23. }
  24.  
  25. class Outter {
  26. private Bar bar;
  27.  
  28. private Provider provider = new Provider();
  29.  
  30. // [...]
  31.  
  32. public void update() {
  33. provider.doUpdate(new IListenner() {
  34. @Override
  35. public void onSuccess(Bar bar) {
  36. Outter.this.bar = bar;
  37. // Here, Outter.this.bar.equals(bar) is false.
  38.  
  39. System.out.println(Outter.this.bar.equals(bar));
  40. }
  41. });
  42. }
  43.  
  44. // [...]
  45.  
  46. }
  47. public class Main {
  48. public static void main(String[] args) {
  49. new Outter().update();
  50. }
  51. }
  52.  
  53.  
Success #stdin #stdout 0.11s 320320KB
stdin
Standard input is empty
stdout
true