Kotlin数据类实现Java接口

10 浏览
0 Comments

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参数使用额外的关键字?签名中的"!"代表什么意思?

0