private void containsCou(){ Course cou=beixuankecheng.get(0); System.out.println("取得课程:"+cou.getName()); System.out.println("备选课程中是否包含课程"+cou.getName()+","+beixuankecheng.contains(cou)); Course cou2=new Course(cou.getId(),cou.getName()); System.out.println("备选课程中是否包含课程"+cou2.getName()+","+beixuankecheng.contains(cou2)); System.out.println("请输入课程名称:"); String cname1=input.next(); System.out.println("请输入课程id:"); String cid1=input.next(); Course cou3=new Course(cid1,cname1); System.out.println("备选课程中是否包含课程"+cou3.getName()+","+beixuankecheng.contains(cou3)); System.out.println("***********"); System.out.println("请输入课程名称:"); String cname2=input.next(); Course cou4=new Course(); cou4.setName(cname2); System.out.println("备选课程中是否包含课程"+cou4.getName()+","+beixuankecheng.contains(cou4)); System.out.println("***********"); System.out.println("请输入课程id:"); String cid2=input.next(); Course cou5=new Course(); cou5.setId(cid2); System.out.println("备选课程中是否包含课程"+cou5.getId()+","+beixuankecheng.contains(cou5)); System.out.println("***********"); System.out.println("备选课程中是否包含课程"+cou3.getName()+","+beixuankecheng.contains("java")); }
equals方法已经重写。contains方法仅仅比较的是Course中的name属性么?Course中不是还有id属性么。
重写equals方法的时候可以选择比较哪个属性,还可以自定义更高级的比较规则,你看一下重写的equals方法就明白啦!
equals判断是否相同
contains判断某个对象是否含有某个元素