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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于containsAll()方法的疑問:重寫了Course的equals()方法,為什么輸出為false?

關于containsAll()方法的疑問:重寫了Course的equals()方法,為什么輸出為false?

qq_A_229 2018-08-18 16:53:04
package com.imooc.collection;/**?*Course類?*/public class Course {?public String id;?public String name;??public Course() {?}??public Course(String id,String name) {??this.id =id;??this.name=name;?}?@Override?public boolean equals(Object obj) {??if (this == obj)???return true;??if (obj == null)???return false;??if (getClass() != obj.getClass())???return false;??Course other = (Course) obj;??if (name == null) {???if (other.name != null)????return false;??} else if (!name.equals(other.name))???return false;??return true;?}}package com.imooc.collection;import java.util.*;/***SetTest類*/public static List<Course> coursesToSelect;?private static Scanner console=new Scanner(System.in);public SetTest() { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始化??coursesToSelect=new ArrayList<Course>(); ??console=new Scanner(System.in);??}/**測試add()、addAll()方法*/?public void testAdd() {//添加元素到末尾(默認)??Course cr1=new Course("S0041","數據結構"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //創建一個課程對象??coursesToSelect.add(cr1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //通過調用add()方法,傳入課程實例到備選課程List中//添加元素到指定位置??Course cr2=new Course("C3256","C語言");??coursesToSelect.add(0, cr2);;???//批量添加??Course[] course= {new Course("L6693","離散數學"),new Course("H5567","匯編語言")};??coursesToSelect.addAll(Arrays.asList(course)); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //傳進collection 的具體實例,將course數組轉換成List//在指定位置批量添加??Course[] course2= {new Course("G6698","高等數學"),new Course("D6631","大學英語")};??coursesToSelect.addAll(2,Arrays.asList(course2));??}/**測試ContainsAll( )方法*/public void testListContainsAll() {?? System.out.println("你要查詢多少個課程:"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //運行時賦值為2?? int num=console.nextInt();?? Course[] courses=new Course[num];?? System.out.println("請輸入你要查詢的課程的名稱:"); ? ? ? ? ? ? ? ? ? ?? //運行時賦值為 ?數據結構 ??C語言?? for(int i=0;i<num;i++) {?? System.out.print((i+1)+":");?? String name=console.next();?? try{??????? ??? courses[i]=new Course();? }catch(NullPointerException e) {? ? ? ?? System.out.println("空指針異常??!"); }??}??System.out.println(coursesToSelect.containsAll(Arrays.asList(courses))); ? ? ? ? ?? //結果運行為false? ??????}
查看完整描述

1 回答

?
xYS1717

TA貢獻6條經驗 獲得超1個贊

https://img1.sycdn.imooc.com//5b7824e10001430311540322.jpg

看紅框框

查看完整回答
反對 回復 2018-08-18
  • qq_A_229
    qq_A_229
    紅框框有什么問題? 沒有那一句會報空指針異常!
  • 1 回答
  • 0 關注
  • 1270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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