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

为什么这样会出现错误

public void testType() {

        System.out.println("能否往List中添加一些奇怪的东西呢?");

            coursesToSelect.add("我不是课程,我只是一个无辜的字符串!!");

        }

在add哪里有下划线显示报错

正在回答

6 回答

public List<Course> coursesToSelect;

this.coursesToSelect = new ArrayList<Course>();//题主这句没加泛型,会有警告的

上面两句就规定List集合只能存放Course类型的对象。你添加String类型肯定报错啊

0 回复 有任何疑惑可以回复我~
this.coursesToSelect = new ArrayList();

这个为什么又能 赋值成功了?已经 超出了我现在的水平

那为什么 添加的时候是按照定义的 类型来算,而不是按照赋值的类型来算呢? 


 public List<Course> coursesToSelect=new ArrayList();


0 回复 有任何疑惑可以回复我~
public List<Course> coursesToSelect;

这个是个具体的 类型 而不是泛型 

List<E>

他的定义才是一个泛型

特此纠正

0 回复 有任何疑惑可以回复我~
public List<Course> coursesToSelect;

你这句话已经定义了一个泛型。 

coursesToSelect  只能装  Course   而且 取值时 直接就是 Course 类型的了,不需要再强制装换了。


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

https://img1.sycdn.imooc.com//5b6817b4000148b106180600.jpg这是截图

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

package com.imooc;



import java.util.ArrayList;

import java.util.Arrays;

import java.util.Iterator;

import java.util.List;




public class ListTest {

public List<Course> coursesToSelect;

public ListTest() {

this.coursesToSelect = new ArrayList();

}

public void testAdd() {

//创建一个课程对象,并通过调用add方法,添加到备选课程List中

Course cr1 = new Course("1","数据结构");

coursesToSelect.add(cr1);

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

System.out.println("添加了课程:"+temp.id+":"+ temp.name);

Course cr2 = new Course("2","C语言");

coursesToSelect.add(0, cr2);

Course temp2 = (Course)coursesToSelect.get(0);

System.out.println("添加了课程:"+temp2.id+":"+temp2.name);

coursesToSelect.add(cr1);

Course temp0= (Course)coursesToSelect.get(2);

System.out.println("添加了课程:"+temp.id+":"+ temp.name);

//Course cr3 = new Course("3","Test");

//coursesToSelect.add(4, cr3);

Course[] course = {new Course("3","离散数学"),new Course("4","汇编语言")};

coursesToSelect.addAll(Arrays.asList(course));

Course temp3 = (Course)coursesToSelect.get(2);

Course temp4 = (Course)coursesToSelect.get(3);


System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);

Course[] course2 = {new Course("5","高等数学"),new Course("6","大学英语")};

coursesToSelect.addAll(2,Arrays.asList(course2));

Course temp5 = (Course)coursesToSelect.get(2);

Course temp6 = (Course)coursesToSelect.get(3);

System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);

}

    public void testGet() {

    int size = coursesToSelect.size();

   

    System.out.println("有如下课程待选:");

    for(int i=0;i<size;i++) {

    Course cr = (Course)coursesToSelect.get(i);

    System.out.println("课程:"+cr.id+":"+cr.name);

    }

    }

        public void testIterator() {

        Iterator it = coursesToSelect.iterator();

        System.out.println("有如下课程待选(通过迭代器访问):");

        while(it.hasNext()) {

        Course cr = (Course)it.next();

        System.out.println("课程:"+cr.id+":"+cr.name);

        }

        }

    

    public void testForEach() {

    System.out.println("有如下课程待选(通过for each访问):");

    for(Object obj:coursesToSelect) {

    Course cr = (Course)obj;

    System.out.println("课程:"+cr.id+":"+cr.name);

    }

    }

        

        public void testModify() {

        coursesToSelect.set(4,new Course("7","毛概"));

        }

    

        

        public void testRemove() {

        //Course cr = (Course)coursesToSelect.get(4);

        System.out.println("即将删除4位置上和5位置上的课程!");

        Course[] courses = {(Course)coursesToSelect.get(4),(Course)coursesToSelect.get(5)};

        coursesToSelect.removeAll(Arrays.asList(courses));

        //coursesToSelect.remove(4);

        System.out.println("成功删除课程!");

        testForEach();

        }

        

        public void testType() {

        System.out.println("能否往List中添加一些奇怪的东西呢?");

            coursesToSelect.add("我不是课程,我只是一个无辜的字符串!!");

        }

        

       


public static void main(String[] atgs) {

ListTest lt = new ListTest();

    lt.testAdd();

lt.testType();

    //lt.testGet();

//lt.testIterator();

//lt.testForEach();

//lt.testModify();

//lt.testForEach();

//lt.testRemove();

}


}


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

举报

0/150
提交
取消

为什么这样会出现错误

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号