Inconsistent toString implementation in objects being sorted results in IllegalArgumentException

XMLWordPrintable

    • Type: Sub-task
    • Resolution: Won't Fix
    • Priority: P3
    • None
    • Affects Version/s: None
    • Component/s: core-libs
    • None



      jjs> function RandomObject() { this.toString = function() { return
      (Math.random() * 100).toString(); } }
      jjs> for (var j=0; j <100; ++j) {var arr = []; for (var i = 0; i < 64;
      ++i) arr[i] = new RandomObject; arr.sort();}

      Expected: no IllegalArgumentException is thrown
      Actual: java.lang.IllegalArgumentException: Comparison method violates
      its general contract!

            Assignee:
            Sundararajan Athijegannathan
            Reporter:
            Sundararajan Athijegannathan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: