您好,登录后才能下订单哦!
如何理解java泛型?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
泛型是Java SE 1.5 的新特性,《Java 核心技术》中对泛型的定义是:
“泛型” 意味着编写的代码可以被不同类型的对象所重用。
可见泛型的提出是为了编写重用性更好的代码。
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
比如常见的集合类 LinkedList:
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Queue<E>, Cloneable, Serializable { //... transient Link<E> voidLink; //...
可以看到,LinkedList<E> 类名及其实现的接口名后有个特殊的部分 “”,而且它的成员的类型 Link<E> 也包含一个 “”,这个符号的就是 类型参数,它使得在运行中,创建一个 LinkedList 时可以传入不同的类型,比如 new LinkedList,这样它的成员存放的类型也是 String。
实际上引入泛型的主要目标有以下几点:
● 类型安全
泛型的主要目标是提高 Java 程序的类型安全
编译时期就可以检查出因 Java 类型不正确导致的 ClassCastException 异常
符合越早出错代价越小原则
● 消除强制类型转换
泛型的一个附带好处是,使用时直接得到目标类型,消除许多强制类型转换
所得即所需,这使得代码更加可读,并且减少了出错机会
● 潜在的性能收益
由于泛型的实现方式,支持泛型(几乎)不需要 JVM 或类文件更改
所有工作都在编译器中完成
编译器生成的代码跟不使用泛型(和强制类型转换)时所写的代码几乎一致,只是更能确保类型安全而已
感谢各位的阅读!看完上述内容,你们对如何理解java泛型大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。