以java的基础类型long为例,它有对应的包装类Long,平时使用时,因为可以自动拆包,所以与基础数据类型差别也不大,如:
Long l1=5L;
if(l1==2L){
......
}
现在数据库中有个与数据库对应的实体对象user
public class User{
Long id;
String name;
}
现在我内存中有一个List
public User findUser(Listusers,User demo){ for(User user:users){ if(user.getId()==demo.getId()){//错误的比较方式 return user; } } }
然而明明List中有这个对象,返回结果中却没有!
因为Id为Long类型的对象,而不是基础数据类型!!!不是基础数据类型!!!不是基础数据类型!!!
包装类与包装类之间比较不能用==,而只能用equals
public User findUser(Listusers,User demo){ for(User user:users){ if(user.getId().equals(demo.getId())){//正确的比较方式 return user; } } }



