ソリューションはあるけど、拡張関数でシュッと解決してくれるものがググっても出てこなかったので書きました。
ソースコード
inline fun <reified T> Gson.fromJson( json: String ): T { return this.fromJson( json, object : TypeToken<T>() {}.type ) }
一番シュッと呼ぶとき
これがほんと好きなんですが、既存の関数と同じインターフェイスでシュッと呼べるようになってます。
このケースでは返り値の型が指定してある場合は型を推定してくれるので型引数を指定する必要すらないです。
fun hoge(): Huga{ val json = "" val gson = Gson() return gson.fromJson( json ) }
GsonにList
inline 展開される代わりに型消去されないで書けるのでそれを利用してみた。
ヒントをくれたまつだんぱーさん Thx.