下一个代码
public class FilterState<T>{
Map<String, Object> getProperties(){return null;} // null for shorteness
}
....
public test(FilterState filterState){
Map<String, Object> map = filterState.getProperties();
}
产生警告
Unchecked assignment: 'java.util.Map' to 'java.util.Map<java.lang.String, java.lang.Object>
但是,如果我将过程定义替换为
public <T> test(IFilterState<T> filterState)
警告消失。我不知道类泛型与地图分配有什么关系。快速搜索通用文档并没有帮助。知道在哪里看,有人吗?:)