Kotlin数据类实现Java接口
- 论坛
- Kotlin数据类实现Java接口
10 浏览
Kotlin数据类实现Java接口
我正在尝试将Kotlin引入到我的当前项目中。我决定从实体开始,它们似乎与数据类完美地映射起来。
例如,我有一个数据类:
data class Video(val id: Long, val ownerId: Long, val title: String, val description: String? = null,
val imgLink: String? = null, val created: Date? = null, val accessKey: String? = null,
val views: Long? = null, val comments: Long? = null, val videoLink: String? = null): Entity
它实现了Java接口:
public interface Entity { Long getId(); }
但出于某种原因,编译器无法理解该方法已经实现:
类'Video'必须声明为抽象或实现抽象成员public abstract fun getId(): kotlin.Long! defined in net.alfad.data.Entity
我是否必须为id参数使用额外的关键字?签名中的"!"代表什么意思?