java擦拭,Java5泛型的用法,T.class的获取和为擦拭法站台

# re: Java5泛型的用法,T.class的获取和为擦拭法站台

package test;

import java.lang.reflect.ParameterizedType;

import java.lang.reflect.Type;

import junit.framework.TestCase;

class TClass {

}

class GoodClass extends TClass {

public ParameterizedType getClassT() {

return (ParameterizedType) getClass().getGenericSuperclass();

}

}

class BadClass extends TClass {

public ParameterizedType getClassT() {

return (ParameterizedType) getClass().getGenericSuperclass();

}

}

public class GenericsTest extends TestCase {

private void print(Type[] targs) {

System.out.print("actual type arguments are:");

for (int j = 0; j < targs.length; j++) {

System.out.print(" instance of " + targs[j].getClass().getName() + ":");

System.out.println(" (" + targs[j] + ")");

}

}

public void testGoodClass() throws Exception {

ParameterizedType type = new GoodClass().getClassT();

Type[] types = type.getActualTypeArguments();

print(types);

assertEquals(TClass.class, type.getRawType());

assertEquals(String.class, types[0]);

}

public void testBadClass() throws Exception {

ParameterizedType type = new BadClass().getClassT();

Type[] types = type.getActualTypeArguments();

print(types);

assertEquals(TClass.class, type.getRawType());

assertEquals(String.class, types[0]);

}

}

faint 评论于 2006-04-28 21:52  回复  更多评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值