1.自动装箱 自动拆箱 在写代码时 返回值一般都是用Integer 和 Long 一般有的属性(id)也是这两个包装类 而我们在不同的业务场景中需要根据逻辑去判断这些属性等不等于0 这时可以用== 但是要去判断和一个Integer的对象的值是否相等 这里要用equals 方法!否则只是比较这两个Integer变量的地址值是否相等,从而达不到业务场景的逻辑要求。
例如见下图在Map中的循环:
2.list的remove方法是线程不安全的 要避免使用
在多线程中,如果用remove方法是不安全的,这里记住要避免使用Collection接口的remove方法。
3.如果一个表中有一条数据 另一个表中有三条对应符合连接条件的数据 此时表1 left join 表2 查询出来的结果是三条数据 。
分析一下:因为数据库表的左连接是根据 on 之后的条件进行连接查询,只要从表中有对应的数据出现,这里就会显示出几条数据。
4.在debug时,如果是逻辑判断的语句,则可以选中到整个判断语句,crtl+shift+i 来查看这整个逻辑判断值得结果 (true或者是false),这在debug的时候会节省很多时间。