equals及==问题

1. 区别:equals是比较值是否相等,==是比较stack中的变量是否指向同一个heap中的值。

2. 注意:a. equals使用时,应将未知变量放到后面,如:"zhangsan".equals(user.getName()); 这样就不会出现null的异常了。

    b. 但是有时候会有比较的变量都是未知的情况,则可以使用:Objects.equals(user.getName(), user1.getName()); 需要注意的是Objects类在jdk1.7才支持,如果是jdk1.6,可以采用guava中的Objects类代替

原文地址:https://www.cnblogs.com/hooli/p/7603631.html