您的位置:首页 > 职场人生

黑马程序员_日记52_泛型限定初级使用

2015-04-16 22:06 387 查看
 ——- android培训java培训、期待与您交流! ———-

泛型的限定

本例主要演示:

1 泛型限定的由来

2 泛型限定的基本类型

? 通配符

泛型限定思路

1 为了提高代码的复用性

下面这个例子可以发现,

如果想要用迭代器取出元素,

就必须使用两个迭代器

代码的复用性不高。

–单独定义一个方法打印,使用通配符

一、泛型没有限定

import java.util.*;
class GenericDemo6
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();

al.add("abc1");
al.add("abc2");
al.add("abc3");

ArrayList<Integer> al1 = new ArrayList<Integer>();
al1.add(4);
al1.add(7);
al1.add(1);

printColl(al);
printColl1(al1);
}

public static void printColl(ArrayList<String> al)//ArrayList<String> al = new ArrayList<Integer>();这个是无法接受的,错误
{
Iterator<String> it = al.iterator();

while(it.hasNext())
{
System.out.println(it.next().toString());
}
}

public static void printColl1(ArrayList<Integer> al)
{
Iterator<Integer> it = al.iterator();

while(it.hasNext())
{
System.out.println(it.next().toString());
}
}
}


编译没通过

二、泛型使用了通配符

import java.util.*;
class GenericDemo6
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();

al.add("abc1");
al.add("abc2");
al.add("abc3");

ArrayList<Integer> al1 = new ArrayList<Integer>();
al1.add(4);
al1.add(7);
al1.add(1);

printColl(al);
printColl(al1);
}

public static void printColl(ArrayList<?> al)
{
Iterator<?> it = al.iterator();

while(it.hasNext())
{
System.out.println(it.next().toString());
}
}
}


编译通过了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  泛型限定
相关文章推荐