2017-06-21 98 views
0

我正在使用Kotlin插件並嘗試使用GsonBuilder創建gson變量。Android Studio(Kotlin)GsonBuilder.registerTypeAdapter()給出2個錯誤

這種使用沒有在Java中的問題的工作,但現在我得到了兩個錯誤試圖使用registerTypeAdapter()時,如下圖所示:

val gson = GsonBuilder().registerTypeAdapter(DateTime.class, DateTimeTypeConverter()).create() 

對於第一個參數(類型),我得到「名稱預計「錯誤。

enter image description here

對於第二個參數(typeAdapter),我得到 「預期的表達」 錯誤

enter image description here

回答

1

DateTime.class應改爲Date::class.java

也許這將解決您的第二個問題,否則請發佈您的DateTimeTypeConverter源代碼

類引用

最基本的反射特性是越來越運行時參考 一個科特林類。要獲得對靜態已知類Kotlin的引用,可以使用類文字語法:

val c = MyClass :: class引用是類型KClass的值。

請注意,Kotlin類引用與Java類 引用不同。要獲取Java類引用,請使用KClass實例的 上的.java屬性。

參考:https://kotlinlang.org/docs/reference/reflection.html

+0

你也可以嘗試使用一些對GSON第三方庫寫在科特林,如:https://github.com/SalomonBrys/Kotson – krossovochkin

+0

您的文章的第一行解決它。非常感謝 –

相關問題