Generics的一个简单例子

:P java SE 5.0 增加了Generics特性,在定义类的时候允许带有“参数”。这个特性的好处就是可以在使用时附加一个类型,但是在定义时却隐藏了具体的使用类型。特别是对于Collection API有非凡的意义。从前,Collection为了保证适用范围尽量的大,将element定义为Object类型,这样,一个添加到Collection的对象便会丧失它的类型信息。而通过Generics,就能避免这种情况,“参数”就能保存对象的类型信息,同时也能起到限制作用。
[code]
/**
*
*/
package com.test.generics;

import java.util.Date;
/**
* @author Administrator
*
*/
public class CTest<E>
{
protected E var;

public void setVar(E e)
{
var = e;
}

public E getVar()
{
return var;
}

public String toString()
{
return CTest.class.toString();
}

/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
CTest<String> ct = new CTest<String>();
ct.setVar("hello world! ");
System.out.println(ct.getVar());

CTest<Date> cd = new CTest<Date>();
cd.setVar(new Date());
System.out.println(cd.getVar());

CTest cc = new CTest();
cc.setVar(new CTest());
System.out.println(cc.getVar());

System.out.println(CTest.class.isInstance(ct));
}

}

[/code]
一点总结:
1 如果不指定“参数”,默认Object
2 System.out.println(CTest.class.isInstance(ct));//true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值