关于android:Kotlin中的枚举注释类型

Posted 黄毛火烧雪下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于android:Kotlin中的枚举注释类型相关的知识,希望对你有一定的参考价值。

在Java中,我可以定义枚举注释类型(从此处开始)

// Constants
public static final String WINTER ="Winter";
public static final String SPRING ="Spring";
public static final String SUMMER ="Summer";
public static final String FALL ="Fall";

// Declare the @ StringDef for these constants:
@StringDef(WINTER, SPRING, SUMMER, FALL)
@Retention(RetentionPolicy.SOURCE)
public @interface Season 

此代码的Kotlin版本是什么?

使用此工具时出现问题(使用IDE进行直接转换)

// Constants
private const val WINTER ="Winter"
private const val SPRING ="Spring"
private const val SUMMER ="Summer"
private const val FALL ="Fall"

// Declare the @ StringDef for these constants:
@StringDef(WINTER, SPRING, SUMMER, FALL)
@Retention(AnnotationRetention.SOURCE)
annotation class Season

因为我无法访问例如 季节冬天

在Kotlin中,最好使用enum class。 在Kotlin中转换@IntDef和@StringDef用法时遇到很多问题。

enum class Season constructor(val value: String) 
  WINTER("Winter"),
  SPRING("Spring"),
  SUMMER("Summer"),
  FALL("Fall");

  override fun toString(): String = value

以上是关于关于android:Kotlin中的枚举注释类型的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ/Android Studio 中的 Kotlin 注释格式

Android数据绑定:如何获取kotlin枚举类的字段值?

kotlin 注释处理器中的可空类型

Android性能优化典范 - 第3季

Android-Kotlin-枚举enum

Kotlin学习之枚举类