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

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

為什么我寫了hashcode方法后還是返回false?


代碼

public class Class {

String id;//課程

String name;

public String getId() {

return id;

}

public String getName() {

return name;

}

public void set(String name,String id){

this.id=id;

this.name =name;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((id == null) ? 0 : id.hashCode());

result = prime * result + ((name == null) ? 0 : name.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (!(obj instanceof Class))

return false;

Class other = (Class) obj;

if (id == null) {

if (other.id != null)

return false;

} else if (!id.equals(other.id))

return false;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

return true;

}


}


正在回答

1 回答

public void stuCourse(){//測試學生選擇課程

System.out.println("測試學生選擇課程2");

Student stu=new Student(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

stu.set("小明","1"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

System.out.println("***歡迎學生"+stu.name+"選課***"); ? ? ? ? ?

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

? ? while(true){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? System.out.println("請問您要選擇多少門課程?"); ? ? ? ? ? ? ??

? ? int a=input.nextInt(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? if(a!=0){

? ? if(a<=courseClass.size()){ ? ? ? ? ? ? ? ? ? ?

? ? ? ? ?for(int i=0;i<a;i++){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? System.out.println("請輸入課程id:"); ? ? ? ? ? ? ?

? ? String kcid=input.next(); ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? for(Class cl:courseClass){ ? ? ? ? ? ? ? ? ? ? ??

? ? if(cl.id.equals(kcid)){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?stu.cla.add(cl);//保存選擇的課程 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? }else{

? ? ?System.out.println("課程大于課程總量!"); ? ? ? ? ? ? ? ? ?

? ? ? ? ?continue;

? ? ? }

? ? }else{

? ? System.out.println("至少選1門課程!!");

? ? continue;

? ? }

? ? xuanze();

break;

? ? }

}

public void xuanze(){//輸出總共選擇的課程

? ? for(Class c:Student.cla){

? ? System.out.println("選擇了 課程"+c.id+":"+c.name);

? ? }

? ? }

//set的contains 方法

public void testSetContains(){

System.out.println("測試學生已選擇的課程名稱:");

String names=input.next();

Class cla3 = new Class();

cla3.name=names;

System.out.println("取得課程:"+names);

System.out.println("是否包含課程:"+cla3.name+":"+student.cla.contains(cla3));

}


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

舉報

0/150
提交
取消

為什么我寫了hashcode方法后還是返回false?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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