,泛型一般出现在集合中,迭代器中也会出现!
泛型是为了提高代码的安全性。泛型确保数据类型的唯一性。
在我们常用的容器中,越是单一越好处理啊!,,
,,,泛型的限定:
?是通配符指代任意类型
泛型的限定上限:
& lt; ? E>延伸;接受E或者E的子类型。
泛型的限定下限:
& lt; & # 63;,super ,E>,接收,E或者E的父类。
泛型的限定上限(定义父类填装子类类型!)
<强>下面我们看看具体代码示例强>
包newFeatures8; 进口java.util。*;/* & # 63;通配符。也可以理解为占位符。 泛型的限定; ? E延伸:可以接收E类型或者E的子类型。上限。 ?超级E:可以接收E类型或者E的父类型。下限 */类GenericDemo6 { 公共静态void main (String [] args) {/* * ArrayList艾尔=new ArrayList (); * * al.add(“他们”);al.add (“abc2”);al.add (“abc3”); * * ArrayList al1=new ArrayList ();al1.add (4); * al1.add (7);al1.add (1); * * printColl (al);printColl (al1); *///ArrayList 艾尔=new ArrayList ();错误//为了解决等号两边泛型不一致的情况,jdk1.7以后可以这么写 ArrayList 艾尔=new ArrayList<在();//右边的泛型自动反射进的来 al.add(新人(“他们”)); al.add(新人(“abc2”)); al.add(新人(“abc3”));//printColl (al); ArrayList al1=new ArrayList (); 到此。add(新学生(“abc - 1 ")); 到此。add(新学生(“abc - 2”)); 到此。add(新学生(“abc - 3”)); printColl (al1); } 公共静态孔隙printColl (Collection<& # 63;Person>延伸;al) { Iterator<& # 63;Person>延伸;它=al.iterator (); 而(it.hasNext ()) { System.out.println (it.next () . getname ()); } }/*公共静态孔隙printColl (ArrayList<& # 63;比;al) { Iterator<& # 63;比;它=al.iterator (); 而(it.hasNext ()) { .toString System.out.println (it.next () ()); } } */} 类人{ 私人字符串名称; 人(字符串名称){ this.name=名称; } 公共字符串getName () { 返回名称; } } 类学生扩展Person { 学生(字符串名称){ 超级(名称); } }/* 类学生实现Comparable { 公共int compareTo(人){ this.getName () } } *//* 类Comp实现Comparator 公共int比较(人s1, s2) {//人s1=新学生(“他们”); 返回s1.getName () .compareTo (s2.getName ()); } } TreeSet ts=new TreeSet (新Comp ());//TreeSet (Comparator<& # 63;超级E>比较器) ts.add(新学生(“他们”)); ts.add(新学生(“abc2”)); ts.add(新学生(“abc3”)); */
<强>总结强>
以上就是本文关于Java编程泛型限定代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:Java编程基础测试题分享,Java编程redisson实现分布式锁代码示例,Java线程安全与非线程安全解析等,如有不足之处,欢迎留言指出,小编会及时回复大家并进行修改,希望朋友们对本站多多支持!