Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8255
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-07 10:50
文章分类

全部博文(4)

文章存档

2014年(2)

2013年(2)

我的朋友

分类: Java

2014-03-27 10:05:49

  1、静态方法要想范化,需要指定其类型参数


  2、非范化类型中的实例方法要想范化,也需要制定其类型参数。


  3、范化类型中的实力方法可以直接使用其类型本身的类型参数。


  4、范型不是协变的,即List不是List的子类。


  5、不能实例化范型类型的数组,即new List 是不合法的,除非类型参数是一个未绑定的通配符,即new List 是合法的。


  6、构造延迟,在代码编写时我们不能通过类型参数来构造一个该类型的实例,原因是我们不知道如何构造,类型参数的实际类型是在运行时确定的。


  7、对于注意5所描述的问题我们有一个解决方法是List list = (List[]) new Object;但是如果是运行时建立数组呢,类型信息是运行时确定的,那就换种写法T[] tarray = (T[]) new Object;


  8、上面的数组构造是不被推荐的,最好的方法是将类型信息传递到方法中,如method(Class type) { V[] array = (V[])Array.newInstance(type, length); },可以参考ArrayList类的toArray(T[] a)方法的实现。

(转自 )
阅读(177) | 评论(0) | 转发(0) |
0

上一篇:生成字典ID字段的一种java简单思路

下一篇:没有了

给主人留下些什么吧!~~