首页 > 编程知识 正文

java定义泛型方法,java泛型类的定义和使用

时间:2023-05-06 02:03:14 阅读:11249 作者:201

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;

//}

//}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。