繁体   English   中英

使用 Any 或 Generic 为函数定义多数据类型?

[英]Define multi data type for a function with Any or Generic?

我想在base定义一个function并在child 中使用它,使用AnyGeneric定义它的最佳方法是什么?

一种方法中,我们有这样的东西:

fun jsonObjectToRequestBody(item:Any):RequestBody{
    return RequestBody.create(null, mGson.toJson(item))
}

第二种方法中,我们有这样的事情:

fun<T> jsonObjectToRequestBody(item:T):RequestBody{
    return RequestBody.create(null, mGson.toJson(item))
}

更新:

tojson() :

  public String toJson(Object src) {
    if (src == null) {
      return toJson(JsonNull.INSTANCE);
    }
    return toJson(src, src.getClass());
  }

第二种方法是Generic更好,因为这将使您免于将数据从 Any 转换为所需数据类型的开销

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM