【发布时间】:2017-09-15 17:55:33
【问题描述】:
我有具有默认值的数据类。
data class Project(
val code: String,
val name: String,
val categories: List<String> = emptyList())
当某些值为空时,Java 反射无法实例化类。我遇到了异常
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method Project.<init>, parameter categories
这是因为java.lang.reflect.Constructor<T>.instantiateClass 方法需要不为空的参数。
我有类型信息,我有构造函数定义,但我不确定如何调用构造函数以便它使用默认值(值来自数据库,categories 可以是null) .有没有办法在 Kotlin 中实现这一点?
【问题讨论】:
标签: reflection kotlin kotlin-null-safety kotlin-reflect