gpt4 book ai didi

java - 修复 java : incompatible types: java. lang.Object 中的错误无法转换为 capture#1 of?

转载 作者:行者123 更新时间:2023-11-30 08:53:11 25 4
gpt4 key购买 nike

我的代码声明了一个对象类型的值变量:

final Object value;

然后这个变量会加载一个对象。

然后声明并加载通用集合变量:

final Collection<?> c = (Collection<?>) argumentDefinition.getFieldValue();

集合变量在上述两种情况下都是通用的,带有括号和问号,在本文中没有通过。

当我尝试使用集合的添加方法时:

c.add(value)

我收到错误信息:

java: incompatible types:java.lang.Object cannot be converted to capture #1 of ?

add 方法在 Collection 中声明为:

boolean add(E e);

如何修复错误?我想我明白发生了什么——编译器为 Object 不兼容的泛型类型创建了一个占位符。我不能为集合使用原始类型,因为我试图消除代码中的原始类型。我是否需要使用辅助函数,如果需要,具体如何?谢谢。

最佳答案

如果不知道是什么 argumentDefinition.getFieldValue() 就很难说出你的问题到底是什么返回,但可能的解决方案是将变量类型从 Collection<?> 更改为至 Collection<Object> .

关于java - 修复 java : incompatible types: java. lang.Object 中的错误无法转换为 capture#1 of?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869678/

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