开发者社区> 问答> 正文

比较对象与对象的arrayList

我创建了两个类,一个驱动程序和一个GUI框架类。在驱动程序类中,我放置了用户对象的arrayList。但是,当从GUI框架类调用方法时,返回的值为0。

我尝试过使用for每个循环来隐式比较每个对象。

这是我用来比较临时用户和现有用户的对象的方法。

public boolean confirm(boolean loggedIn, int tempStudentNo, int tempPin) {

//Creation of temporary object for comparison with existing one
DriverMain temp = new DriverMain(tempStudentNo, tempPin);

if (getCreation().contains(temp)) {
    System.out.println("user pass");
    setLoggedIn(true);
} 

else {
    System.out.println("user fail");
}
return loggedIn;

} 我希望用户通过。但是结果总是“用户失败”。

展开
收起
小六码奴 2019-10-03 19:37:36 823 0
1 条回答
写回答
取消 提交回答
  • DriverMain课程是否覆盖了equals方法?” ...

    为了使用(Array)List,HashTable,HashSet或HashMap等,需要在类中重写“一对”方法DriverMain。为了使List,Set等以及其他一些Collection Type或Map / HashTable评估你的对象是否是其内容的成员,你需要为其提供一种比较传递给它的对象和这些对象的方法。

    列出 的contains(Object o)方法使用该对象的equals(Object o)方法,你的比较对象的o任何对象x(名单收集的成员)。

    有关此的更多信息,请访问以下链接:https : //docs.oracle.com/javase/tutorial/java/IandI/objectclass.html https://docs.oracle.com/javase/tutorial/collections /interfaces/list.html

    设置 的contains(Object o)方法使用该对象的hashCode()和equals(Object o)方法,以你的比较对象的o任何对象x(设置集合的成员)。

    有关此的更多信息,请访问以下链接:https : //docs.oracle.com/javase/tutorial/java/IandI/objectclass.html https://docs.oracle.com/javase/tutorial/collections /interfaces/set.html

    Map 该containsKey(Object o)方法使用Object的hashCode()和equals(Object o)方法将你的Object o与任何Object x(Map Interface的成员)进行比较。

    有关此的更多信息,请访问以下链接:https : //docs.oracle.com/javase/tutorial/java/IandI/objectclass.html https://docs.oracle.com/javase/tutorial/collections /interfaces/map.html

    重要说明 解决这种情况的方法更多,具体取决于其实现方式。例如:TreeSet并且TreeMap不使用该hashCode()方法。

    2019-10-09 16:00:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载