Kotlin TypeToken "Unresolved reference" 错误

Kotlin TypeToken "Unresolved reference" error

我在第 5,6 和 7 行收到错误 "Unresolved reference to response"。你能帮我理解这个问题吗?

 public class GenericCall {
        public fun genecicCall(functionToBeCalled:String, responseType:String, requestType:String, vararg args:String){
            var request = Class.forName(requestType).newInstance()
            var response = Class.forName(responseType).newInstance()
            var finalType = object : TypeToken<GenericResponse<Class<response>>>(){}.getType()
            var creditresponse: GenericResponse<response>? = AjaxHelper.ajax(Constants.Ajax.ENDPOINT_CREDIT, Constants.Ajax.REQUEST_POST, request, finalType, null)
            return ResponseProcessing.processResponse(creditresponse as Any) as response?
        }
        }
    }

泛型类型参数不能是表达式,它应该是另一种类型,例如 class,可能还有其他泛型类型参数。因此,如果 Fooresponse 的静态(由编译器推断)类型,那么您应该编写例如 Class<Foo> 而不是 Class<response>(第 5 行)。在您的情况下,除了它是 Any 的一个实例之外,您可能对 response 一无所知。因此,您可以使用 Class<Any>Class<*>,随您喜欢。与 GenericResponse(第 6 行)类似。

出于同样的原因(第 7 行),as 运算符的右侧也不能出现表达式:此运算符将左侧转换为 type 在右侧指定。此外,您的函数似乎没有 return 任何东西,因此 return 从中获取有用的值将不起作用。