Java编程泛型限定代码分享
泛型一般出现在集合中,迭代器中也会出现!
泛型是为了提高代码的安全性。泛型确保数据类型的唯一性。
在我们常用的容器中,越是单一越好处理啊!
泛型的限定:
?是通配符指代任意类型
泛型的限定上限:
<?extendsE>接受E或者E的子类型。
泛型的限定下限:
super E> 接收 E或者E的父类。
泛型的限定上限(定义父类填装子类类型!)
下面我们看看具体代码示例
packagenewFeatures8;
importjava.util.*;
/*
?通配符。也可以理解为占位符。
泛型的限定;
?extendsE:可以接收E类型或者E的子类型。上限。
?superE:可以接收E类型或者E的父类型。下限
*/
classGenericDemo6{
publicstaticvoidmain(String[]args){
/*
*ArrayListal=newArrayList();
*
*al.add("abc1");al.add("abc2");al.add("abc3");
*
*ArrayListal1=newArrayList();al1.add(4);
*al1.add(7);al1.add(1);
*
*printColl(al);printColl(al1);
*/
//ArrayListal=newArrayList();error
//为了解决等号两边泛型不一致的情况,jdk1.7以后可以这么写
ArrayListal=newArrayList<>();//右边的泛型自动反射进来
al.add(newPerson("abc1"));
al.add(newPerson("abc2"));
al.add(newPerson("abc3"));
//printColl(al);
ArrayListal1=newArrayList();
al1.add(newStudent("abc--1"));
al1.add(newStudent("abc--2"));
al1.add(newStudent("abc--3"));
printColl(al1);
}
publicstaticvoidprintColl(Collectional){
Iteratorit=al.iterator();
while(it.hasNext()){
System.out.println(it.next().getName());
}
}
/*publicstaticvoidprintColl(ArrayList>al)
{
Iterator>it=al.iterator();
while(it.hasNext()){
System.out.println(it.next().toString());
}
}*/
}
classPerson{
privateStringname;
Person(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
}
classStudentextendsPerson{
Student(Stringname){
super(name);
}
}
/*
classStudentimplementsComparable{
publicintcompareTo(Persons){
this.getName()
}
}
*/
/*
classCompimplementsComparator{//
publicintcompare(Persons1,Persons2){
//Persons1=newStudent("abc1");
returns1.getName().compareTo(s2.getName());
}
}
TreeSetts=newTreeSet(newComp());//TreeSet(Comparatorcomparator)
ts.add(newStudent("abc1"));
ts.add(newStudent("abc2"));
ts.add(newStudent("abc3"));
*/
总结
以上就是本文关于Java编程泛型限定代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:Java编程基础测试题分享、Java编程redisson实现分布式锁代码示例、Java线程安全与非线程安全解析等,如有不足之处,欢迎留言指出,小编会及时回复大家并进行修改,希望朋友们对本站多多支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。