【发布时间】:2018-10-09 07:42:52
【问题描述】:
我有这个通用方法的接口:
interface IInterface {
fun <T> test(body: T)
}
我想这样实现这个接口:
class MyClass: IInterface {
override fun <JsonObject> test(body: JsonObject) {
if (body is com.google.gson.JsonObject) {
}
}
}
我的问题是类型 JsonObject 无法识别,例如“com.google.gson.JsonObject”。所以我可以在我的编译器(intelliJ)中编写这段代码而不会出错。
override fun <NotExistingClass__> test(body: NotExistingClass__) {
那么,如何从 Gson 中为 JsonObject 定义 T 的类型呢?此代码不起作用:
override fun <com.google.gson.JsonObject> test(body: com.google.gson.JsonObject)
谢谢
【问题讨论】:
-
在你的情况下,你需要使用泛型类而不是使用泛型方法。
标签: spring spring-boot generics kotlin