今天再做一个功能比较两个Integer类型值的时候,用的是双等于号比较。结果是一些结果对。有一个结果一直不对。急死我了,最后总算是找到了原因。
1.问题:
请看下面两个结果:
2. 原因:
原来,如果Integer类型的值在-128~127之间的话,那么a,b变量指向的还是同一个地址
超过这个范围,a,b就指向各自的内存地址。所以会出现这个情况。
3.解决:
使用Integer类的equals方法比较的就是两个变量的值。
2023-12-13 17:46:22
今天再做一个功能比较两个Integer类型值的时候,用的是双等于号比较。结果是一些结果对。有一个结果一直不对。急死我了,最后总算是找到了原因。
1.问题:
请看下面两个结果:
2. 原因:
原来,如果Integer类型的值在-128~127之间的话,那么a,b变量指向的还是同一个地址
超过这个范围,a,b就指向各自的内存地址。所以会出现这个情况。
3.解决:
使用Integer类的equals方法比较的就是两个变量的值。