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

为何我的testAdd1()和testChild()方法不能打印出东西呢

package i.mooc.collect;


import java.lang.reflect.Array;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

//泛型集合中,不能添加泛型规定的类型及其子类型以为的集合,否则会报错

//泛型集合中限定的类型不能使用基本类型的

//可以通过使用包装类限定允许存入的基本数据类型


public class TestGeneric {

//泛型用尖括号,括号里面写入需要存放在list中元素

public List<Course> course;//申明

public TestGeneric(){//构造器,在构造器中初始化course属性

this.course=new ArrayList<Course>();//实例化时也要加泛型类型。

}

public void  testAdd(){

Course cr=new Course("1","语文");

course.add(cr);

Course cr1=new Course("2","数学");

course.add(cr1);

}

public void  testAdd1(){

Course []cr3={new Course("3","java"),new Course("4","数据库")};

course.addAll(Arrays.asList(cr3));//此处是Arrays.asList方法,不是Array的方法

}


public void testForEach(){

for(Course ce:course);

Course temp=course.get(0);

Course temp1=course.get(1);

System.out.println(temp.id+temp.name+temp1.id+temp1.name);

}

//泛型集合可以添加泛型子类型的对象实例

public void testChild(){

courseChild ccr=new courseChild();

ccr.id="3";

ccr.name="子类型的对象实例";

course.add(ccr);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

TestGeneric tg=new TestGeneric();

tg.testAdd();

tg.testAdd1();

tg.testForEach();

tg.testChild();

tg.testForEach();


}


}


正在回答

3 回答

public void testForeache(){

for(Course cr : course)

System.out.println(cr);

}

这样就行了,因为你已经定义了泛型,所以在foreach语句中,不用进行类型转换,直接就可以输出结果,而且你的foreach语句写的也不对哦,要认真听老师讲哦

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

未来一为我而来

那你棒棒哒
2018-11-19 回复 有任何疑惑可以回复我~

你看一下你的testForeach()方法就知道了!

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

找你的复制了一下,可以打印出结果:

结果为:

1语文2数学
1语文2数学

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

举报

0/150
提交
取消

为何我的testAdd1()和testChild()方法不能打印出东西呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信