黑马程序员技术交流社区
标题:
泛型和通配符?有什么区别?
[打印本页]
作者:
蒙武辉
时间:
2012-2-18 02:38
标题:
泛型和通配符?有什么区别?
泛型和通配符?有什么区别?可以取个例子说明下吗?
作者:
丁晓宇
时间:
2012-2-18 03:35
{:soso_e163:}
泛型其主要目的是加强类型安全及减少类转换的次数
{:soso_e163:}
通配符是一种特殊语句一般是用来模糊匹配的
这俩东西完全不搭边的啊 。。。 蜗牛不是牛
作者:
戚雪晖
时间:
2012-2-18 08:49
泛型是为了安全性而产生的。而通配符用途比泛型还要广泛,如楼上所说是用来模糊匹配。
当通配符“?”来匹配泛型时候,函数前面是不用定义泛型的<T>的,后边直接用“?”就可以代表任意类型,前提是你所想代表的类型,之前必须有创建。
例如:
class Demo
{
//泛型方法定义
public Demo1 getDemo1(Demo1<?> d)
{
return d;
}
//也可以做如下定义
/*
public <T> Demo1 getDemo1(Demo1<T> d)
{
return d;
}
*/
}
//下面是已经创建的带泛型的类
class Demo1 <T>
{
public void pp(T t)
{
System.out.println(t);
}
}
作者:
李晓俊老师
时间:
2012-2-18 10:12
通配符在泛型中,是一种不确定的表现形式.本来泛型是一种安全机制,是限定数据类型的,而当你是在不确定数据类型时,可以用它来表示,或者来占位,,通配符不是还叫占位符么,就是这个意思.显然这样做,就等于没有限定类型,它可以接收任何类型的数据.因此它 是不安全的,,,
作者:
花开~的季节
时间:
2012-2-18 11:20
如 List<Integer> intList = new ArrayList<Integer>();
List<String> strList = new ArrayList<String>();
泛型,当你不确定<>里面的类型时,就可以用通配符?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2