如何将 Java 对象转换为 Kotlin 多平台对象

问题描述

我有一个 Java 对象。我有一个 Kotlin 多平台对象。 如何将此 Java 对象转换为 Kotlin 多平台对象?

Java 代码

public class JavaRecentItemList extends ObservableBean implements Parcelable {

    @Serializedname("TotalRowCount")
    int totalRowCount;
}

Kotlin 多平台共享代码

import kotlinx.serialization.Serializable

@Serializable
data class KMMRecentItemList(
    val TotalRowCount: Int? = null
)

我有一个需要 KMMRecentItemList 的 KMM 库。 即:

suspend fun foo(itemList: KMMRecentItemList) {
}

解决方法

您只需直接复制即可。从 Kotlin 的角度来看,这些对象没有什么特别之处。

 val converted = KMMREcentItemList(javaRecentItemList.totalRowCount)