第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么會(huì)出現(xiàn)java.lang.nullpointerexception錯(cuò)誤

? public void testSetContains(){

? //提示輸入課程名稱

? System.out.println("請(qǐng)輸入學(xué)生已選的課程名稱:");

? String name=console.next();

? //創(chuàng)建一個(gè)新的課程對(duì)象,ID和名稱,與course對(duì)象完全一樣

? Course course2=new Course();

? course2.name=name;

? System.out.println("新創(chuàng)建課程:"+course2.name);

? System.out.println("備選課程中是否包含課程:"+course2.name+","+student.courses.contains(course2));

? }



執(zhí)行到畫線句出現(xiàn)錯(cuò)誤,問題應(yīng)該在student.courses.contains(course2),但是已經(jīng)定義public Student student; ?而且

public class Student {

public String id;


public String name;


public Set<Course> courses;//Set和List一樣都是Collection的子接口


public Student(String id,String name){

this.id=id;

this.name=name;

this.courses=new HashSet<Course>();?

}

}


正在回答

6 回答

contains方法里面調(diào)用了hashcode()和equal()方法,當(dāng)hashcode()方法返回TRUE時(shí),才繼續(xù)調(diào)用equals()方法,所以這個(gè)地方需要重寫hashcode()方法

0 回復(fù) 有任何疑惑可以回復(fù)我~

我也犯了相同的錯(cuò)誤,原因在創(chuàng)建學(xué)生并選課的方法里面,public void createStudentAndSelectCourses()的第一行代碼是student=new Student("1","小明"),而不是Student?student=new Student("1","小明"),因?yàn)閟tudent已經(jīng)在前面定義過的,是公有屬性

0 回復(fù) 有任何疑惑可以回復(fù)我~

創(chuàng)建學(xué)生對(duì)象并選課方法里面的第一行代碼? ?s tudent = new Student("1", "小明");你看你的是這個(gè)么

0 回復(fù) 有任何疑惑可以回復(fù)我~

testSetContains(Student student)

0 回復(fù) 有任何疑惑可以回復(fù)我~

你這個(gè)student對(duì)象里沒有傳進(jìn)去東西,是空的

0 回復(fù) 有任何疑惑可以回復(fù)我~

我記得老師在講這個(gè)的時(shí)候好像在Student類中重寫了equal()方法,你再看看原視頻,只要是照著來的,應(yīng)該不會(huì)有錯(cuò)

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么會(huì)出現(xiàn)java.lang.nullpointerexception錯(cuò)誤

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)