java泛型问题,如何实现这个

vcshcn 07-04-23

这段代码片段会报个warning,如何修改去掉警告呢?或者如何实现这个效果?
public static HashMap<Class, IService> services = null;

public static <T extends IService> T getService(Class<T> klass) {
return (T) services.get(klass);
}

我想通过传入class对象,map返回的对象可以不进行类型转换就使用,如这样:
class TestService implements IService {}
putService(TestService.class, new TestService());
TestService test = getService(TestService.class)

banq
2007-05-08 10:22

这个情况不常用,不是很清楚,一般按照面向接口原则,返回都是IService接口.

leoyu
2007-05-08 11:07

你在方法前加这句,JDK1.5就不会警告了
@SuppressWarnings("unchecked")