1.泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
Java语言引入泛型的好处是安全简单。
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
2.应该是我很久没有好好学技术了,有时辰想用的时辰却发现不会写,比如今天碰到了泛型接口,以是要记录一下,如许才能更明白...
在这搭我其实不想说泛型接口怎么写,这个很简略,后面会写的,只是想说我为什么要用.
泛型接口的意图是什么?请看如次的需要别人解答的题目:
abstract class BaseBean{ //略 } Interface IA{ public BaseBean doSomething(); }
下面我们继承这个BaseBean
class ChildBean extends BaseBean{ }
接下来使成为事实接口
class IAImpl implements IA{ public BaseBean doSomething(){ return new ChildBean(); } }
好了这是惯常的写法,可是同学们有无发现1个需要别人解答的题目当你归回获得BaseBean的时辰其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,由于调用者纯粹不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething归回的是1个对象这个对象extends于BaseBean
那么接下来我们就用泛型接口吧:
Interface IA{ public T doSomething(); } class IAImpl implements IA{ public ChildBean doSomething(){ return new ChildBean(); } }
如许当你调用这个使成为事实的时辰就能明确地获得归回的对象类型,清楚明了,这就是泛型接口的使用.其实我们平时一直在用的 Iterable就是这玩意各人可以去看下. 回家筹办读下java编程思惟中的相干段落.
总结今天收获很大,这搭要感谢下灵芝同学给我的帮助,是她告诉了我,我所想要的东西叫泛型接口,感谢...
取消
评论