Kotlin 注解详解:声明、应用与元注解
1. 注解概述
在 Kotlin 中,注解(Annotation)提供了一种将元数据附加到代码元素上的机制。这些元数据可以在编译时或运行时被读取,用于指导编译器行为、框架配置或进行静态分析。Kotlin 的注解系统与 Java 高度兼容,但提供了更简洁的语法和更强的类型安全。
2. 声明并应用注解
2.1 应用注解
在 Kotlin 中使用注解的方法与 Java 类似,以 @ 字符作为注解名称的前缀,并将其放在要注解的声明的最前面。
例如,使用 JUnit 框架可以用 @Test 标记一个测试方法:
@Test
fun testExample() {
assert(true)
}
注意: 在 Android Studio 中,若要使用 @Test 注解,通常需要将其放置在对应的 test 目录中才能成功识别为测试用例。
2.2 注解参数
注解可以拥有参数,实参在括号中传递,就像常规函数的调用一样。
参数类型限制
注解只能拥有如下类型的参数:
- 基本数据类型
- 字符串
- 枚举常量
- 类引用
- 其他注解类
- 上述类型的数组
特殊用法
-
指定类为注解实参:在类名后加上
::class。@MyAnnotation(ClassName::class) fun myFunction() {} -
指定另一个注解为实参:去掉注解名称前面的
@。@Deprecated(message = "Use newApi", replaceWith = ReplaceWith("newApi")) fun oldApi() {} -
指定数组为实参:使用
arrayOf函数。@RequestMapping(path = arrayOf("/foo", "/bar")) {}


