泛型的简单理解
举个简单的例子:
对于集合类List,你知道可以往里add Object型的对象,也就是任何对象。但在未知环境里,你只允许往里add String型的对象,或者你需要在不转型的情况下直接往出拿里面的对象,那么就可以用泛型。代码如下:
List list1 = new ArrayList(); // 此时可以list.add(object) list.add(string) 你可以放任意对象,但如果我只需要创建字符串型的集合,那么
List<String> list2 = new ArrayList<String>();
这样,除String以外的类型就存不进去了,取的时候
String str1 = (String) list1.get(0); 需要转型
String str2 = list2.get(0); 不需要转型
另外,泛型还可用于方法,比如
public T getValue(List<T> list)
{
处理list集合,list里存什么类型的对象,方法返回的结果就是什么类型的对象
}
还有一些其他的东西 比如<T extends ?>等等这些用法。
哈哈。。。刚看到这个解释很接地气:一般集合里才会用到泛型。比如说一个对象 房子,什么人都可以进去。但是这样 房子<男人> ,就只有男人才能进去了。这就是泛型。