int、Integer、object 有什么区别?
时间: 2024-01-27 10:03:53 浏览: 30
int是Java中的一种基本数据类型,表示整数,占用4个字节。而Integer是int的包装类,实现了将int类型转化为对象的功能,并提供了一些操作int类型的方法。Object是Java中所有类的基类,也是所有数据类型的超类,它是一种通用的引用类型,可以引用任意一种Java对象。它提供了一些常用的方法,如equals()、toString()等。简而言之,int是一种基本数据类型,Integer是int的包装类,Object是所有类的基类。
相关问题
int和integer object的区别
bytes和integer object是两种不同的数据类型。
bytes是一个二进制序列,通常用于存储二进制数据如图像、音频和视频等。
integer object是一个整数对象,通常表示一个数字。在Python中,整数可以是正数、负数或零。整数对象也可能会被用于数学计算。
Line 6: error: no suitable method found for sort(int[],<anonymous Comparator<Integer>>) Arrays.sort(nums, new Comparator<Integer>() { ^ method Arrays.<T#1>sort(T#1[],Comparator<? super T#1>) is not applicable (inference variable T#1 has incompatible bounds equality constraints: int lower bounds: Integer,Object) method Arrays.<T#2>sort(T#2[],int,int,Comparator<? super T#2>) is not applicable (cannot infer type-variable(s) T#2 (actual and formal argument lists differ in length)) where T#1,T#2 are type-variables: T#1 extends Object declared in method <T#1>sort(T#1[],Comparator<? super T#1>) T#2 extends Object declared in method <T#2>sort(T#2[],int,int,Comparator<? super T#2>)
这个错误的原因是`Arrays.sort`方法的第二个参数的类型不正确。`Arrays.sort`方法的第二个参数类型应该为`Comparator`,但是当前传入的是一个匿名内部类`new Comparator<Integer>() {...}`。这个匿名内部类的类型是`Comparator<Integer>`,而不是`Comparator`,因此编译器会报错。
要解决这个问题,可以将匿名内部类的类型改为`Comparator`,如下所示:
```java
Comparator<Integer> comparator = new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
};
Arrays.sort(nums, comparator);
```
这样就可以使用`Comparator`来指定排序规则了。
阅读全文