亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號