为了账号安全,请及时绑定邮箱和手机立即绑定

Course类采用的是get()和set(),结果却不一样了,

我所有的代码基本和老师的都一样,唯一不同就是Course类采用的是get()和set()方法,访问Course的成员变量,为什么结果和老师不一样呢,输入的课程明明存在,却显示false,能有人给解答一下吗?谢谢。

正在回答

5 回答

public class Course {

private String id,name;

public Course(String id,String name){

this.id=id;

this.name=name;

}

public Course() {

// TODO Auto-generated constructor stub

}

public String getId(){

return id;

}

public void setId(String id){

this.id=id;

}

public String getName(){

return name;

}

public void setName(String name){

this.name=name;

}


0 回复 有任何疑惑可以回复我~
#1

一天不上mooc我浑身难受 提问者

非常感谢!
2016-08-14 回复 有任何疑惑可以回复我~

我也是用封装的set和get,重写后结果也是false,不知道是还不是还要重写hashCode?????????

0 回复 有任何疑惑可以回复我~

输出的结果是:

成功添加了课程1:java

成功添加了课程2:c语言

成功添加了两门课程:3:大学英语4:php

成功添加了两门课程:5:商务英语6:大学物理

备选课程里是否存在课程:c语言,false

备选课程里是否存在课程:c语言,false

备选课程里是否存在课程:c语言,false


0 回复 有任何疑惑可以回复我~
#1

禾只

成功添加了课程1:java 成功添加了课程2:c语言 成功添加了两门课程:3:大学英语4:php 成功添加了两门课程:5:商务英语6:大学物理 备选课程里是否存在课程:c语言,false 备选课程里是否存在课程:c语言,false ------------- 这个才是上面代码的输出,不好意思!不过一样是false
2016-01-06 回复 有任何疑惑可以回复我~

public class ListTest {

public List<Course> courseToSelect;

private Scanner input=new Scanner(System.in);

public ListTest(){

this.courseToSelect=new ArrayList<Course>();

}

public void listAdd(){

Course c1=new Course("1","java");

courseToSelect.add(c1);

Course temp=(Course)courseToSelect.get(0);

System.out.println("成功添加了课程"+temp.getId()+":"+temp.getName());

Course c2=new Course("2","c语言");

courseToSelect.add(0, c2);

Course temp1=(Course)courseToSelect.get(0);

System.out.println("成功添加了课程"+temp1.getId()+":"+temp1.getName());

Course [] c3={new Course("3","大学英语"),new Course("4","php")};

courseToSelect.addAll(Arrays.asList(c3));

Course temp2=(Course)courseToSelect.get(2);

Course temp3=(Course)courseToSelect.get(3);

System.out.println("成功添加了两门课程:"+temp2.getId()+":"+temp2.getName()+

temp3.getId()+":"+temp3.getName());

Course [] c4={new Course("5","商务英语"),new Course("6","大学物理")};

courseToSelect.addAll(2, Arrays.asList(c4));

Course temp4=(Course)courseToSelect.get(2);

Course temp5=(Course)courseToSelect.get(3);

System.out.println("成功添加了两门课程:"+temp4.getId()+":"+temp4.getName()+

temp5.getId()+":"+temp5.getName());

}


public void testContains(){


Course cr= courseToSelect.get(0);

System.out.println("备选课程里是否存在课程:"+cr.getName()+","

+courseToSelect.contains(cr.getName()));

Course coure2=new Course(cr.getId(),cr.getName());

System.out.println("备选课程里是否存在课程:"+coure2.getName()+","

+courseToSelect.contains(coure2.getName()));

}

public static void main(String[] agrs){

ListTest lt=new ListTest();

 

lt.listAdd();

lt.testContains();

 

}


0 回复 有任何疑惑可以回复我~

代码,效果截图,报错信息

0 回复 有任何疑惑可以回复我~
#1

禾只

你好!我也应该和楼主遇到一样的疑问,就一起在这里问你了,代码如下,自己想了很久,没有想出来原因,麻烦了!
2016-01-06 回复 有任何疑惑可以回复我~
#2

禾只

重写过equlas方法,在下面的代码里没有写进去(注释了就没有加进去了),但就连第一个查询备选课程里的(不要重写equlas方法的)也是同样显示false
2016-01-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Course类采用的是get()和set(),结果却不一样了,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信