class - 比较 Kotlin 类型和 java 类
问题描述
我正在尝试创建一个像这个问题一样的请求转换器,除了 JodaDateTime How to pass custom enum in @Query via Retrofit?
但是,我正在努力将传入的类型与 Joda Date Time 类进行比较。
class JodaDateConverterFactory : Converter.Factory() {
override fun stringConverter(
type: Type?, annotations: Array<out Annotation>?,
retrofit: Retrofit?
): Converter<*, String>? {
if (type is Class<*> && type==DateTime::class) {
return Converter<Any?, String> { value -> (value as DateTime).toString("yyyy-MM-dd") }
}
return null
}
}
type==DateTime::class 返回 false。
我可以看到该类型包含一个表示 Joda Date Time 的字符串,但我显然错误地比较了它们。
比较 kotlin 类型和 java 类的正确方法是什么?
解决方案
要获取 Java 类型,请使用语法
DateTime::class.java
推荐阅读
- html - 尝试将 svg 扩展到父容器
- sql - 如何加入三个数据源?
- flutter - 如何精确更改 FloatingAction 按钮的位置?
- kubernetes - Kubernetes- Tolerations : node.kubernetes.io/unreachable:NoExecute for 300s
- javascript - 用 setState 赋值的问题
- java - Spring AuthenticationAuditListener 添加有关目标 URL 的信息
- python - 使用 scipy.odeint 的具有非常量参数的 ODE 系统
- javascript - 承诺更新 DOM 后如何获得钩子
- javascript - 我们如何在不请求许可的情况下获取用户的当前位置/城市?
- sql - 如何获得员工职能的首要地位?