簡體   English   中英

Kotlin TypeToken“未解決的參考”錯誤

[英]Kotlin TypeToken “Unresolved reference” error

我在第5,6和7行收到錯誤“未解決的回復參考”。你能幫助我理解這個問題嗎?

 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?
        }
        }
    }

泛型類型參數不能是表達式,它應該是另一種類型,例如類,可能還有其他泛型類型參數。 因此,如果Foo是靜態(由編譯器推斷)類型的response則應該編寫例如Class<Foo>而不是Class<response> (第5行)。 在你的情況下,你可能對response一無所知,除了它是Any的一個實例。 因此,您可以使用Class<Any>Class<*> ,無論您喜歡哪個。 GenericResponse類似(第6行)。

由於相同的原因(第7行),表達式也不能出現在as運算符的右側:此運算符將左側轉換為右側指定的類型 此外,您的函數似乎沒有返回任何內容,因此從中返回有用的值將不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM