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

07-04-23 vcshcn
这段代码片段会报个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")

猜你喜欢