Kotlin - 设置 @Annotations 。函数返回类型?

Posted

技术标签:

【中文标题】Kotlin - 设置 @Annotations 。函数返回类型?【英文标题】:Kotlin - Set @Annotations . to function return types? 【发布时间】:2020-04-05 09:34:26 【问题描述】:

有没有办法使用注解来声明 kotlin 函数的返回条件?

例如,我想告诉 lint 我的函数将在以下位置返回一个 android 资源 ID:

fun getImageId(): Int

我想要的东西是:

fun getImageId(): @DrawableRes Int

失败了

我认为这是有道理的(我相信在 Java 中是可能的),因为我可能有这样的东西:

 fun setImage(@DrawableRes res: Int) 
        myImageView.setImageResource(res)
    

并将其称为:

setImage(getImageId())

因此它有一个验证链,即给定的int 实际上是一个 Res Id

【问题讨论】:

【参考方案1】:

你可以这样做:

@DrawableRes
fun getImageId(): Int

【讨论】:

以上是关于Kotlin - 设置 @Annotations 。函数返回类型?的主要内容,如果未能解决你的问题,请参考以下文章

程序类型已经存在:org.intellij.lang.annotations.Flow

Kotlin:遍历 JSONArray

Kotlin 和 javax.validation.constraints.NotNull

Kotlin自定义注释,参数

kotlin data class和普通class区别

kotlin 不确定如何处理插入方法的返回类型