参考答案:
Integer和int的区别:
1、integer是int的包装类,int是Java的基本数据结构
2、integer变量必须实例化才能使用。 不需要int变量
3、integer实际上是对对象的引用,int直接存储数据值
4、integer的默认值为空,int的默认值为0
如何相等,首先要理解equals和==的区别
Equals通常用于比较两个对象的内容是否相等。==用于比较两个对象的地址是否相等。 定义Object类的Equals方法是为了确定两个对象的地址是否相等,如果地址相等,则认为对象相等。 这意味着,如果我们新创建的所有类都不复盖equals方法,则在确定两个对象是否相等时,它们将与“==”相同。 也就是说,两个对象的地址是否相等。 然而,在我们的实际开发中,通常认为如果两个对象的内容相等,则两个对象相等,equals返回true。 如果对象不同,则返回false。
所以可以归纳为两种情况
1、如果类未复盖equals方法,则在使用equals方法比较两个对象时,==比较,即表示两个对象的地址是否相等。 如果地址相等,则返回true;如果地址不相等,则返回false。
2、类复盖equals方法在比较两个对象时,采用复盖后的判断方式。 通常,如果两个对象的内容相同,则equals返回true;如果内容不同,则equals在返回false时重写。