Java 借助比较器对int类型的数组进行排序

Java 借助比较器对int类型的数组进行排序,java,Java,我正在使用数组排序,它向我显示这样的错误是无效的。帮帮我 import java.util.*; class power { public static void main(String ar[]) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n]; for(int i=0;i<n;i++)

我正在使用数组排序,它向我显示这样的错误是无效的。帮帮我

import java.util.*;

class power
{
    public static void main(String ar[])
    {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int a[]=new int[n];
        for(int i=0;i<n;i++)
            a[i]=sc.nextInt();
        Arrays.sort(a,new Comparator<int []>()
        {
            public int compare(int a1[],int a2[])
            {
                String s1=""+a1[0];
                String s2=""+a2[0];
                return s1.compareTo(s2);
            }
        });
    }
}
import java.util.*;
阶级权力
{
公共静态void main(字符串ar[]
{
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
int a[]=新的int[n];

对于(int i=0;i您不能编写
比较器
,因为Java基元类型不能用作泛型。您需要
整型
包装器类型。因此更改

int a[] = new int[n];

然后您的比较器应该比较两个
整数(不是两个
int[]
(s))


排序时出错。语法无效
Integer a[] = new Integer[n];
Arrays.sort(a, new Comparator<Integer>() {
    public int compare(Integer a1, Integer a2) {
        String s1 = "" + a1;
        String s2 = "" + a2;
        return s1.compareTo(s2);
    }
});
Arrays.sort(a, (x, y) -> String.valueOf(x).compareTo(String.valueOf(y)));