retrofit2 接口需要传入数组时候,会报以上错误,
@GET(ServiceHelper.ROOM_SENDGIFT_ONEKEY_INFO) suspend fun getRoomGiftOneKeyInfo( @Query("giftIdList") giftIdList:@JvmSuppressWildcards List<Any>, @Query("receiveUserId") receiveUserId:String):BaseResponse<MutableMap<String,String>>
数组对象加入@JvmSuppressWildcards声明可以正常使用
Kotlin 使用通配符编译泛型使 Kotlin API 和 Java 能一起使用。当某个参数或者字段的类型为 泛型 时,会在 Java 代码中自动生成。比如,Kotlin 的代码 List<Foo> 参数就会在 Java 中显示为 List<? super Foo>。
但这种特性会导致在 Dagger 中出现问题,因为它期望类型是完全 (也称 invariant) 匹配的。使用 @JvmSuppressWildcards 将确保 Dagger 会看到没有通配符的类型。