类型不匹配; 找到`Message`,需要`T`

克莱纳

在我的代码中,我有一个方法publishMessage需要从 class 扩展类型Message在此方法publish中调用需要message类型T

这给出了错误 > 类型不匹配;找到了Message,需要T

这是否与T需要成为Message使用方法声明的类的扩展有关我不明白为什么不能这样做。

在我的脑海中,这样的类型参数T可以是任何东西

我的课

fun <T : Message> publishMessage(topic: String, type: Class<T>, message: Message) {
    val node = findOrCreateNode(topic, type)
    node.publish(message) // Type mismatch; found `Message`, required `T` .
}

节点类

fun publish(message: T) {
   // Implementation
}
比特纳

在我的脑海中,这样一个类型为 T 的参数可以是任何东西

是的,它可以是任何东西,但编译器希望确保您的类型没有任何问题。因此,您必须像这样创建 Node 对象Node<Message>()或将publishMessage方法签名更改fun <T : Message> publishMessage(topic: String, type: Class<T>, message: T). 在这种情况下,编译器可以保证类型安全,错误就会消失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala:找到类型不匹配,所需单位:布尔

来自分类Dev

类型不匹配; 找到:所需对象:play.api.mvc.Result

来自分类Dev

类型不匹配,预期:T,实际:T

来自分类Dev

Scala:需要类类型,但找到了T

来自分类Dev

Scala类型不匹配。找到的类型,必需_ $ 1

来自分类Dev

Xcode 6.1:找到多个名为“ count”的方法,但结果,参数类型或属性不匹配

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

使用any()时出错;在Android中测试所需的不兼容类型:匹配器<视图>已找到:匹配器<Object>

来自分类Dev

Java泛型-类型从T到T不匹配

来自分类Dev

类型不匹配:推断的类型为T但kotlin。

来自分类Dev

Scala存在-类型不匹配,无法推断T =:= T

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

Kotlin编译器错误:类型不匹配。必需:CapturedType(out A)找到:A

来自分类Dev

T +状态类型不匹配

来自分类Dev

Scala类型不匹配找到Future [A]预期Future [B]

来自分类Dev

类型不匹配:推断的类型为<未提供名称>,但需要上下文

来自分类Dev

类型不匹配; 找到:Int(1)必需:B

来自分类Dev

Scala:需要类类型,但找到了T

来自分类Dev

错误:类型不匹配;找到:Unit.type必需:单位

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

找到Scala Spark类型不匹配的单位,必需为rdd.RDD

来自分类Dev

类型不匹配; 找到:列表[Double.type]必需:列表[Double]

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

找到类型不匹配的java.util.List [String]:必需的列表[String]

来自分类Dev

播放ScalaJSON Reads [T]解析类型不匹配错误

来自分类Dev

Scala reduceList因类型不匹配而需要java.io.Serializable失败

来自分类Dev

类型不匹配、所需节点、找到的字符串

来自分类Dev

用于理解的 Scala 返回类型不匹配;找到:单位

来自分类Dev

不兼容的类型;需要并找到。但找到的是必需的类型

Related 相关文章

  1. 1

    Scala:找到类型不匹配,所需单位:布尔

  2. 2

    类型不匹配; 找到:所需对象:play.api.mvc.Result

  3. 3

    类型不匹配,预期:T,实际:T

  4. 4

    Scala:需要类类型,但找到了T

  5. 5

    Scala类型不匹配。找到的类型,必需_ $ 1

  6. 6

    Xcode 6.1:找到多个名为“ count”的方法,但结果,参数类型或属性不匹配

  7. 7

    Scala-类型不匹配;找到Int,必需的String

  8. 8

    使用any()时出错;在Android中测试所需的不兼容类型:匹配器<视图>已找到:匹配器<Object>

  9. 9

    Java泛型-类型从T到T不匹配

  10. 10

    类型不匹配:推断的类型为T但kotlin。

  11. 11

    Scala存在-类型不匹配,无法推断T =:= T

  12. 12

    类型不匹配,找到Int必需的字符串

  13. 13

    Kotlin编译器错误:类型不匹配。必需:CapturedType(out A)找到:A

  14. 14

    T +状态类型不匹配

  15. 15

    Scala类型不匹配找到Future [A]预期Future [B]

  16. 16

    类型不匹配:推断的类型为<未提供名称>,但需要上下文

  17. 17

    类型不匹配; 找到:Int(1)必需:B

  18. 18

    Scala:需要类类型,但找到了T

  19. 19

    错误:类型不匹配;找到:Unit.type必需:单位

  20. 20

    Scala-类型不匹配;找到Int,必需的String

  21. 21

    找到Scala Spark类型不匹配的单位,必需为rdd.RDD

  22. 22

    类型不匹配; 找到:列表[Double.type]必需:列表[Double]

  23. 23

    类型不匹配,找到Int必需的字符串

  24. 24

    找到类型不匹配的java.util.List [String]:必需的列表[String]

  25. 25

    播放ScalaJSON Reads [T]解析类型不匹配错误

  26. 26

    Scala reduceList因类型不匹配而需要java.io.Serializable失败

  27. 27

    类型不匹配、所需节点、找到的字符串

  28. 28

    用于理解的 Scala 返回类型不匹配;找到:单位

  29. 29

    不兼容的类型;需要并找到。但找到的是必需的类型

热门标签

归档