比较Java中的两个对象

sch*_*der 1 java

我有两个不同的同一实体"社区"对象

两个对象(社区和com)具有相同的值

Communty.java有以下变量:

   private Integer communityId;
   private String communityName;
   private String description;

   // many to many relationship
   private Set<Faculty> faculties = new HashSet<Faculty>();
   private Set<User> users = new HashSet<User>();
Run Code Online (Sandbox Code Playgroud)

我用同样的方法:

@Override
   public boolean equals(Object obj) {
          // TODO Auto-generated method stub
          if(obj==null)
                 return false;
          if(obj==this)
                 return true;
          if(!(obj instanceof Community)) return false;

          Community community = (Community)obj;
          return community.getCommunityId() == this.getCommunityId();
   }
Run Code Online (Sandbox Code Playgroud)

当我检查时community==com,它返回false ..为什么?我做错了什么?从数据库中检索这两个对象!

Vi.*_*Vi. 8

== 比较链接到对象.

你应该明确地打电话community.equals(com).还要处理检查.