赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

JAVA高级:关于 java 泛型的基本使用

发布时间:2007.12.20 04:54     来源:赛迪网    作者:sheldonsun

JDK 5.0 以后加入了泛型的概念。我们可以看一下简单的例子:
public class GenericExample {
    
    public void testOrign() {
        List strList = new ArrayList();
        strList.add("test1");
        String test1 = (String)strList.get(0);
        System.out.println("Test 1 : " + test1);
        
    }
    public void testGeneric() {
        List strList = new ArrayList();
        strList.add("test1");
        String test1 = strList.get(0);
        System.out.println("Test 1 : " + test1);
    }
    
}
testOring方法是不加入泛型时的编码方法。
testGeneric是加入泛型后的编码方法。首先我们定义了一个List, 制定List的类型为String, 就是说List里边存储的类型为String类型,这样我们再存储的时候, List。add()方法加入的参数一定要是一String类型的变量, 要不编译就会出现错务, 当我们从List里取值的时候, 业不需要进行类型转换, 可以直接得到String类型的值。

那么我们为什么要泛型呢? 有两个好处: 
1. 可以再编译是检查存储的数据是否正确。我们开发有一个趋向就是尽早的发现错误, 对java来说, 最好就是再编译阶段, 泛型正好符合这一条件, 如再testGeneric中, strList.add() 如果加入一个非String类型的类或者其子类的话, 那么编译就会出现错误。
2. 减少了强制转换, String test1 = (String)strList.get(0);这样的操作属于一种向下转型, 是比较危险的操作, 当List内存储的对象不适String时就会发生错误。

所以如果再java中加入泛型是很好的一种喜欢。 
    (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java语言深入:java泛型-关于Java的类 (12-19) · 初学Servlet总结,希望对大家有所帮助 (12-19)
· Web Services&XML:利用DOM读取XML文件 (12-19) · JAVA语言深入:java中获取系统属性的方法 (12-19)
· JAVA基础:HTML中javascript 实现的排序 (12-19) · JAVA入门:不建议初学者使用Java Enum (12-19)
· 浅谈关于软件制造还是服务的一点点感想 (12-19) · 浅谈Java中通信机制及与C/C++ API的集成 (12-19)
· J2SE综合:Interface与Object之间关系问题 (12-19) · Java中String类型的参数传递问题的解析 (12-19)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· CIO浅谈电子商务应用 09年B2B市场将达21300亿
· RFID与条码技术将在中国零售行业中长期共存
· 五条黄金准则能够让CIO巧妙加薪 CIO焦虑调查
· 网上书店解决方案 深圳边检指挥中心ITSM项目
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统