作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个非常基本的问题,但我无法弄清楚,我正在尝试从某个库中调用一个函数。该函数的签名如下。
<V> Channel<?,V> create(@Nonnull ChannelSetting setting);
我通过简单地在参数中传递 ChannelSetting 对象来调用此方法,我想将其返回结果分配给 Channel<String, SomeClassType>
目的。如果我按如下方式进行,
Channel<String, SomeClassType> result = creatorObj.create(setting);
我收到编译错误类型不匹配。
Type mismatch: Cannot convert from Channel<capture#1-of ?, Object> to Channel<String,SomeClassType>
我不明白如何分配返回类型,我不能离开
因为我只需要特定类型。
谢谢,
最佳答案
方法签名告诉您 create()
返回 Channel
第一个类型变量是你不知道的。你不能安全地将它分配给,例如,Channel<String, SomeClassType>
因为它实际上可能是 Channel<Integer, SomeClassType>
;根据您展示的 API,无法判断。
关于java - 如何从具有通配符返回类型的泛型函数将返回值分配给对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68897480/
我是一名优秀的程序员,十分优秀!