Netbeans IDE建议在代码中的几行之前添加@SuppressWarnings(“unchecked”)。我不明白为什么。有人请告诉我哪里出错了?
private List<Object> processNames() {
List<Object> values = new ArrayList<>();
List<String> addedNames = new ArrayList<>();;
List<String> droppedNames = new ArrayList<>();;
Map<String, String> changedNames = new LinkedHashMap<>();
//I skipped code that adds values into above lists and Map
values.add(addedNames) ;
values.add(droppedNames) ;
values.add(changedNames) ;
return values:
}
private void applyChanges() {
List<Object> values = processNames();
@SuppressWarnings("unchecked")// Suggested by IDE
List<String> AddedNames = (List<String>) values.get(0);
@SuppressWarnings("unchecked")
List<String> droppedNames = (List<String>) values.get(1);
@SuppressWarnings("unchecked")
Map<String, String> changedNames = (Map<String, String>) values.get(2);
}
答案 0 :(得分:3)
您的IDE建议使用它,因为它无法确认您尝试检索的数据是您要将其转换为的类型(未选中的类型转换)。这个注释并不一定意味着将抛出Exception
,它只是用于投射;换句话说,它用于抑制带注释元素的编译器警告。
在删除该注释方面,我建议您创建自己的自定义Object
。 (似乎更适合维护1 List<CustomObject>
个数据而不是4个单独的数据。