@ Pure @ SuppressWarnings ( { "unchecked" , "rawtypes" , "checkstyle:returncount" , "checkstyle:npathcomplexity" } ) private static int compareRawValues ( Object arg0 , Object arg1 ) { if ( arg0 == arg1 ) { return 0 ; } if ( arg0 == null ) { return Integer . MAX_VALUE ; } if ( arg1 == null ) { return Integer . MIN_VALUE ; } if ( ( arg0 instanceof Number ) && ( arg1 instanceof Number ) ) { return Double . compare ( ( ( Number ) arg0 ) . doubleValue ( ) , ( ( Number ) arg1 ) . doubleValue ( ) ) ; } try { if ( arg0 instanceof Comparable < ? > ) { return ( ( Comparable ) arg0 ) . compareTo ( arg1 ) ; } } catch ( RuntimeException exception ) { // } try { if ( arg1 instanceof Comparable < ? > ) { return - ( ( Comparable ) arg1 ) . compareTo ( arg0 ) ; } } catch ( RuntimeException exception ) { // } if ( arg0 . equals ( arg1 ) ) { return 0 ; } final String sv0 = arg0 . toString ( ) ; final String sv1 = arg1 . toString ( ) ; if ( sv0 == sv1 ) { return 0 ; } if ( sv0 == null ) { return Integer . MAX_VALUE ; } if ( sv1 == null ) { return Integer . MIN_VALUE ; } return sv0 . compareTo ( sv1 ) ; }
Compare the internal objects of two specified values .