免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 846 | 回复: 0
打印 上一主题 下一主题

java 泛型基本使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-19 17:06 |只看该作者 |倒序浏览
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时就会发生错误。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/50183/showart_426111.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP