gpt4 book ai didi

java - 在java中转换对象时如何摆脱@SuppressWarnings ("unchecked")

转载 作者:行者123 更新时间:2023-12-04 04:43:40 25 4
gpt4 key购买 nike

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);

}

最佳答案

您的 IDE 建议这样做,因为它无法确认您尝试检索的数据属于您将其转换为的类型(未经检查的类型转换)。此注释不一定意味着 Exception将被抛出,它只是为了类型转换;换句话说,它用于抑制注释元素的编译器警告。

在摆脱该注释方面,我建议创建您自己的自定义 Object . (似乎更适合维护 1 List<CustomObject> 个数据而不是 4 个单独的数据)。

关于java - 在java中转换对象时如何摆脱@SuppressWarnings ("unchecked"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com