==直接比价java的8个基本数据类型是可以比价出值是否相同的,但其左右操作数如果是对象的话,那么比较的是引用的地址,不能比较出值是否相同。
Integer是对小数据(-128~127)是有缓存的,jvm初始化的时候,数据-128~127之间的数字便被缓存到了本地内存中,这样,如果初始化-128~127之间的数字,便会直接从内存中取出,而不需要再新建一个对象,所以,数字在-128~127之间,那么实际上是引用的是同一个内存地址,因此采用==比较返回的是true.
2024-01-31 13:54:52
==直接比价java的8个基本数据类型是可以比价出值是否相同的,但其左右操作数如果是对象的话,那么比较的是引用的地址,不能比较出值是否相同。
Integer是对小数据(-128~127)是有缓存的,jvm初始化的时候,数据-128~127之间的数字便被缓存到了本地内存中,这样,如果初始化-128~127之间的数字,便会直接从内存中取出,而不需要再新建一个对象,所以,数字在-128~127之间,那么实际上是引用的是同一个内存地址,因此采用==比较返回的是true.