java 代码中一个warnning,不知道怎么改了

xianwu13 发布于 2015/07/14 17:12
阅读 835
收藏 0

背景

Map<String, Object> result =

                restTemplate.getForObject("http://10.72.48.63:8090/asset/group/",

                                          HashMap.class);

其中 restTemplate 调用的方法是

public <T> T getForObject(URI url, Class<T> responseType) throws RestClientException {
        RequestCallback requestCallback = acceptHeaderRequestCallback(responseType);
        HttpMessageConverterExtractor<T> responseExtractor =
                new HttpMessageConverterExtractor<T>(responseType, getMessageConverters(), logger);
        return execute(url, HttpMethod.GET, requestCallback, responseExtractor);
    }

问题

黄色部分的代码会产生一个warnning,具体为:Type safety: The expression of type HashMap needs unchecked conversion to conform to Map<String,Object>

不知道怎么修改了,请各位指教了。谢了。

不能 写成 

Map result =

                restTemplate.getForObject("http://10.72.48.63:8090/asset/group/",

                                          HashMap.class); 这样的形式,因为会提示 Map is a raw type. References to generic type Map<K,V> should be parameterized,也不能使用@SuppressWarings


加载中
0
杨延庆
杨延庆
返回类型直接用HashMap不行么?
杨延庆
杨延庆
@xianwu13 返回类型用HashMap, 传进去Map.class可不可以?
xianwu13
xianwu13
不行 因为也会提示 HashMap is a raw type. References to generic type HashMap<K,V> should be parameterized
0
逝水fox
逝水fox

@SuppressWarnings("unchecked")

这个不用纠结了

xianwu13
xianwu13
为啥不用纠结?没有别的办法?
0
MockMan
MockMan
new Hashtable<String,Object>().getClass();
0
安西都护府首席程序员
安西都护府首席程序员
public   <M extends Map<String, Object>,T> M  
           getForObj(URI url,Class<T> responseType){
		
		return null;
	}



xianwu13
xianwu13
不行啊,这样的话,T跟M不能建立关系的
0
斯武丶风晴
斯武丶风晴
warnning都被我忽略的。
xianwu13
xianwu13
没有编码规范 静态检查吗
返回顶部
顶部