我有一个带有默认值的kotlin数据类,当我尝试使用MapStruct映射它时,它会在运行时抛出一个错误,因为它会尝试为具有默认值的属性分配一个null值到一个不可为空的类型。我知道在@Maps注释中分配默认值,但是MapStruct有没有办法考虑数据类的默认值,而不是我必须做两次?
这是一个例子:
data class A(val property1: String = "prop 1", val property2: String)
data class B(val property2: String)
@Mapper
interface SomeMapper {
...
fun mapBtoA(b: B): A
}
val b = B("prop 2 val")
val a: A = SomeMapper.INSTANCE.mapBtoA(b)
在上面的示例中,它将尝试将null分配给属性1而不是prop 1默认值。
我也有同样的问题,你需要用var代替val