泛型Java
来源:互联网 发布:macd指标源码 编辑:程序博客网 时间:2024/06/05 06:53
这两天一直在学习Java中的泛型,发现泛型的出现帮我们苦逼程序猿解决了许多潜在的问题,并为我们程序猿编程减轻了工作量。
下面把我的心得体会与大家共享一下(尽管只是些皮毛):
泛型技术的由来:在集合中可以存储任意的对象,但是在取出时,如果要使用具体对象的特有方法时,需要进行向下转型,如果存储的对象类型不一致,在转型的过程中,就会出现ClassCastException异常。看下面一个例子:
package cn.itcast.generic.demo;import java.util.ArrayList;import java.util.Iterator;public class GenericDemo {public static void main(String[] args) {ArrayList al= new ArrayList();al.add("abc1"); // Ctrl+Alt+↓ 复制当前行到下一行al.add("faougoa");al.add("ajsogiwewet");Iterator it=al.iterator();while(it.hasNext()){String s=(String)it.next();System.out.println(s.length());}}}
package cn.itcast.generic.demo;import java.util.ArrayList;import java.util.Iterator;public class GenericDemo {public static void main(String[] args) {ArrayList al= new ArrayList();al.add("abc1"); // Ctrl+Alt+↓ 复制当前行到下一行al.add("faougoa"); al.add(6); // 整数类型的值,将会出现类型转换异常al.add("ajsogiwewet");Iterator it=al.iterator();while(it.hasNext()){String s=(String)it.next();System.out.println(s.length());}}}大家可以在MyEclipse上试一下,编译的时候,不会出错,但是在运行的时候,会抛出异常:
为什么会出现这种情况呢?出现这种情况该怎么解决呢?
出现这种情况的原因就是存储的对象类型不一致(String类型和Integer类型不一致)。解决办法就是使用泛型!
这种情况下,我们会提前得到错误提示,能快速的知道程序中出错的地方,并能及时加以修改!
总结:使用泛型的好处:
1、泛型是一种安全机制,提高程序安全性。
2、将运行时期的ClassCastException异常转移到了编译上来,进行检查,并以编译失败的形式提示程序员。有利于程序员尽早解决问题。
3、避免了向下转型的麻烦!
0 0
- 【java 2】java泛型
- Java 泛型 Java generic
- Java Tutorials_Generics(java泛型)
- Java基础 Java 泛型
- java 泛型
- java泛型
- Java泛型
- Java泛型
- java泛型
- java泛型
- java泛型
- Java 泛型
- Java泛型
- Java 泛型
- JAVA 泛型
- java 泛型
- java泛型
- Java泛型
- Android应用开发——跑马灯效果
- Andriod双击退出
- ActionBar 显示选项菜单
- struts2前台页面控制时间格式
- 【随笔】记录解决无法进入Android Developers 及 SDK Manager无法更新问题的办法
- 泛型Java
- 图形报表,HighCharts
- java之旅
- 分布式-在ubuntu12.04上安装mpi
- Ubuntu下配置开机自动运行脚本
- 中国移动互联网用户行为统计报告2014H1(完整版)
- J2EE--JDBC
- 关于C++ const的全面总结
- 驱动模块(ko)文件加载失败分析