0

I am getting below error while comparing two objects.

My code :

public static Comparator<HotelResult> HotelLowRatingComparator = new Comparator<HotelResult>() {

        public int compare(HotelResult s1, HotelResult s2) {

            Double StudentName1 = Double.valueOf(s1.getStarRating());
            Double StudentName2 =Double.valueOf(s2.getStarRating());

            int val=(int) Math.round(StudentName1 - StudentName2);

            Log.e("Comparator",String.valueOf(val));

            //ascending order
            return (int) Math.round(StudentName1 - StudentName2);


        }
    }

Error Log : FATAL EXCEPTION: main

Process: com.tech.booking, PID: 27473 java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:761) at java.util.TimSort.mergeAt(TimSort.java:497) at java.util.TimSort.mergeCollapse(TimSort.java:421) at java.util.TimSort.sort(TimSort.java:210) at java.util.Arrays.sort(Arrays.java:1998) at java.util.Collections.sort(Collections.java:1900) at com.tech.booking.Hotel_Module.HotelSearchResult_Activity$4.onTabReselected(HotelSearchResult_Activity.java:692) at android.support.design.widget.TabLayout.dispatchTabReselected(TabLayout.java:1177) at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1136) at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1128) at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1427) at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1537) at android.view.View$PerformClick.run(View.java:21534) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5765) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

AskNilesh
  • 67,701
  • 16
  • 123
  • 163
Seetha
  • 365
  • 1
  • 6
  • 20

0 Answers0