踩坑实录3
这周第 395 场周赛 - 力扣(LeetCode)掉大分!排查下来竟然是一个基础语法弄错了,看来真是基础不牢地动山摇!令人震惊的是大一下学 Java 从来没有遇到这个疏忽导致的问题😢
简单来说,就是包装类型之间(比如 Integer)之间的比较,使用 ==
比较的是内存地址!作为一个特例,JVM 的常量池技术会维护 -128~127 的 Integer 包装类,即:
1 |
|
包装类型的比较请使用 equals()
,或者转换成原始类型再比较!
包装类型与其对应的原始类型比较时,可以直接使用 ==
,因为编译器会进行自动解包装的操作
踩坑实录3
https://exapricity.tech/Happy-Debugging.html