Java 如何使整数具有可比性

Java 如何使整数具有可比性,java,comparable,compareto,Java,Comparable,Compareto,我试图使用可比较的界面对随机生成的数组进行排序,但收到错误消息: 不兼容的类型:int[]无法转换为可比较的[] int [] list; list = new int[n]; for(int i=0;i<n;i++){ list[i]=(int)(1+n*Math.random()); } sortingoutsorts.bubble(list); } private static void swap(Object [] list, int x, int y) { Ob

我试图使用可比较的界面对随机生成的数组进行排序,但收到错误消息:

不兼容的类型:int[]无法转换为可比较的[]

int [] list;
list = new int[n];

for(int i=0;i<n;i++){
    list[i]=(int)(1+n*Math.random());
}
sortingoutsorts.bubble(list);
}
private static void swap(Object [] list, int x, int y)
{
    Object temp=list[x];
    list[x]=list[y];
    list[y]=temp;
}
public static void bubble(Comparable [] list)
{
    boolean done=false;
    while(!done)
    {
        done=true;
        for(int i=0; i+1<list.length; i++)
            if(list[i].compareTo(list[i+1])>0)
            { swap(list,i,i+1); done=false; }
    }
}
int[]列表;
列表=新整数[n];

for(int i=0;iint是一种基本数据类型,您不能在基本数据类型上实现Compariable。您想改用它的包装类,它已经实现了Compariable

但是,如果您不想更改变量的类型,您可能需要更改

if(list[i].compareTo(list[i+1])>0)


并更改气泡签名以接受int的任何数组。

int是一种基本数据类型,您无法在基本数据类型上实现Compariable。您希望改用它的包装器类,它已经实现了Compariable

但是,如果您不想更改变量的类型,您可能需要更改

if(list[i].compareTo(list[i+1])>0)


并更改气泡签名以接受任何int数组。

int[]
更改为
Integer[]
。或使用
比较int。将
int[]
更改为
Integer[]
。或者使用
来比较int。是的,这个方法有8个重载是有原因的。自己实现排序仍然是一个很好的练习,尽管bubble不是很好的哈哈。当然,他不应该期望一个方法同时对对象数组和基本数组进行排序。是的,这是一个原因s 8重载了该方法。尽管bubble不是很好,但自己实现排序仍然是一个很好的练习哈哈。当然,他不应该期望一个方法同时对对象数组和基本数组进行排序。