降序写法1中,假设x2为Integer.MIN_VALUE,x1为正数时,计算时x1-x2时会溢出,返回有误。
推荐以下写法,将数组n调整为降序:
Arrays.sort(n, (x1,x2)->Integer.compare(x2,x1) );
这种写法下,对比地,将数组n调整为升序的代码为:
Arrays.sort(n, (x1,x2)->Integer.compare(x1,x2) ); // 效果等同于 Arrays.sort(n);
显然,这种写法更好记、更好区分了。
降序写法1中,假设x2为Integer.MIN_VALUE,x1为正数时,计算时x1-x2时会溢出,返回有误。
推荐以下写法,将数组n调整为降序:
Arrays.sort(n, (x1,x2)->Integer.compare(x2,x1) );
这种写法下,对比地,将数组n调整为升序的代码为:
Arrays.sort(n, (x1,x2)->Integer.compare(x1,x2) ); // 效果等同于 Arrays.sort(n);
显然,这种写法更好记、更好区分了。