Java Integer 对象比较:equals() 方法解析
以下是您提供的Java代码:
Integer num1 = 5;
Integer num2 = 5;
在这段代码中,'num1.equals(num2)'将返回'true'。
在Java中,对于整数类型的包装类(如'Integer'),当值在-128到127的范围内时,会使用对象池(object pool)进行缓存,以提高性能和节省内存。
在这个范围内,当两个'Integer'对象的值相同时,它们引用的实际对象是同一个,即它们是同一个对象实例。
因此,'num1'和'num2'引用的是同一个值为5的'Integer'对象。
当我们使用'equals'方法来比较两个'Integer'对象时,它会比较它们所引用的实际对象的值。
由于'num1'和'num2'引用的是同一个对象,它们的值相等,所以'num1.equals(num2)'将返回'true'。
因此,调用'num1.equals(num2)'将返回'true',表示'num1'和'num2'所引用的'Integer'对象的值相等。
原文地址: https://www.cveoy.top/t/topic/pYL 著作权归作者所有。请勿转载和采集!