View difference between Paste ID: rLsfTaVb and M1LCdiA4
SHOW: | | - or go back to the newest paste.
1
// simpilied version of http://pastebin.com/M1LCdiA4
2
3-
import java.util.AbstractMap.SimpleImmutableEntry;
3+
4-
import java.util.Map.Entry;
4+
5
public class SomeClass {
6
7
  public static void main(final String[] args) {
8
9
    class Ref {
10
      Object value1;
11-
      Object value;
11+
      Object value2;
12
13
      @Override
14
      public String toString() {
15
        try {
16-
          return this.value.toString();
16+
          return this.value1.toString() + "," + this.value2.toString();
17-
        } catch (final StackOverflowError e) {
17+
        } catch (final OutOfMemoryError | StackOverflowError e) {
18-
          return "...";
18+
19
        return "...";
20
      }
21
    }
22-
    Entry<Ref, Ref> entry;
22+
23
    final Ref ar2 = new Ref();
24
    ar1.value1 = ar2;
25-
    entry = new SimpleImmutableEntry<>(ar1, ar2);
25+
    ar1.value2 = ar1;
26-
    ar1.value = entry;
26+
    ar2.value1 = ar1;
27-
    ar2.value = ar1;
27+
    ar2.value2 = ar2;
28-
    // Object-graph contains loop:
28+
    // Object-graph contains loops!
29-
    // Entry[key=Entry, value=key]
29+
30
      System.out.println(ar1.toString());
31-
      System.out.println(entry.toString());
31+
32
      e.printStackTrace();
33
    }
34
  }
35
}