package Hello1;
import java.util.List;
import java.util.ArrayList;
公共类测试8 {
//要求如果将数组类型的所有元素复制到集合中,该怎么写
//另外,如果想对t的类型施加限制,如何进行限制
publicstaticvoidmain (字符串[ ] args ) {
Test8 t8=new Test8(;
List l1=new ArrayList (; //通用上两侧都必须一致。 右边可以不写
List l2=new ArrayList (;
List l3=new ArrayList (;
列表l4=new ArrayList (;
列表l5=new ArrayList (;
复制(new string [ ] { },l1 ); //定义字符串类型数组并将其分配给操作系统
复制(new number [ ] { },l2 ); //定义字符串类型数组并将其分配给操作系统
复制(new integer [ ] { },l3 ); //定义字符串类型数组并将其分配给操作系统
复制(new double [ ] { },l4; //定义字符串类型数组并将其分配给操作系统
复制(new comparable [ ] { },l5 ); //定义字符串类型数组并将其分配给操作系统
复制(new double [ ] { },l4; //定义字符串类型数组并将其分配给操作系统
//此时list类型为String,而Object[] os为Double类型,但此时String对象不能包含在Double数组中
//所以以下方法是编译错误
}
staticvoidcopy(t[]OS操作系统,列表) {
//staticvoidcopy(t[]OS操作系统,列表) /编译错误,super只能用于通用通配符,不能用于通用方法
//staticvoidcopy(t[]OS操作系统,列表列表) ) { //Number和子类都可以通过
//用文字t制约排列os和集合list的类型t也可以是别的文字,但习惯使用大写字母t
如果//t是字符串类型,则所有其他t都是字符串类型,以解决基本需求
for(to:OS操作系统)//导线测量
list.add(o;
}
}
//staticvoidcopy(t[]OS操作系统,列表列表) {
//字符t限制排列os和集合list的类型t可以是其他字符,但习惯于大写字母t
如果//t是字符串类型,则剩下的所有t都是字符串类型,可以解决基本需求
//for(to:OS操作系统)//导线测量
//list.add(o;
//}
//}
//staticvoidcopy(Object[]OS,List list ) { //Object[]表示object类型的数组
//问题:使用通配符组合所有类型的集合时,add方法明显会发生编译错误
//原因:由于编译器在list中似乎有类属,因此操作系统数组不知道能否满足类属,因此报告错误
//想法:所以,必须使数组型和通用型一致
//for(objecto:OS操作系统)//遍历
//list.add(o;
//}
//}
}