小编Iña*_*aki的帖子

覆盖equals方法

这里有新手问题:

所以在我的大学作业中,我必须为我创建的新类重写对象类equals方法.

新类是"Product",每个产品都有一个唯一的"id"属性.所以这就是我覆盖它的方式:

@Override
public boolean equals(Object obj) {
       final Product other = (Product) obj;
       if (id != other.id)
           return false;
       return true;
   }
Run Code Online (Sandbox Code Playgroud)

事情是这样做是10分中的1.5分,这让我怀疑是那么容易.所以我开始搜索,我找到了类似的东西:

@Override
public boolean equals(Object obj) {
       if (this == obj)
           return true;
       if (obj == null)
           return false;
       if (getClass() != obj.getClass())
           return false;
       final Product other = (Product) obj;
       if (id != other.id)
           return false;
       return true;
   }
Run Code Online (Sandbox Code Playgroud)

这对我来说根本没有意义,因为我认为最后一个如果检查所有其他的ifs限制.你们有什么想法?哪种更好的方法来覆盖这种方法?

谢谢!

java overriding equals

3
推荐指数
1
解决办法
1万
查看次数

我把数据放在Map中,然后按不同顺序得到它

我有一个方法,我从数据库中读取数据,它是这样的:

public Collection<Map<String, String>> getAllFieldsValues() throws Exception
...
mapaTemp.put("DNI", dni.toString());
mapaTemp.put("NOMBRE", nombre.toString());
mapaTemp.put("APELLIDOS", apellidos.toString());
mapaTemp.put("CURSO", curso.toString());
mapaTemp.put("DIRECCION", direccion.toString());
allFieldsValues.add(mapaTemp);
...
return allFieldsValues;
Run Code Online (Sandbox Code Playgroud)

然后我有另一种方法在JTable中显示数据,但问题是我以不同的顺序读取它,我按照这个顺序阅读它.DNI,DIRECCION,NOMBRE,APELLIDOS,CURSO.

这是一个问题,因为当我在JTable中显示数据时,它出现的顺序错误.谁知道为什么会这样?谢谢!

java map

2
推荐指数
2
解决办法
2261
查看次数

标签 统计

java ×2

equals ×1

map ×1

overriding ×1