Kotlin 面试题
目录

Kotlin 中如何自定义注解?

· 约 3 分钟读完 · 第 166 / 200 章

推荐答案

在 Kotlin 中,自定义注解可以通过 annotation 关键字来定义。以下是一个简单的示例:

这个注解可以用于类、函数、属性等地方。例如:

本题详细解读

1. 注解的定义

在 Kotlin 中,注解是通过 annotation 关键字来定义的。注解可以包含参数,这些参数可以是基本类型、字符串、枚举、其他注解类或这些类型的数组。

在这个例子中,MyAnnotation 是一个自定义注解,它有一个参数 value,类型为 String。

2. 注解的使用

定义好注解后,可以在类、函数、属性等地方使用它。注解的使用方式是在目标前加上 @ 符号,后面跟上注解的名称和参数(如果有的话)。

在这个例子中,MyAnnotation 被应用到了 MyClass 类和 myFunction 函数上。

3. 注解的元注解

Kotlin 中的注解还可以使用元注解来进一步配置其行为。常见的元注解包括:

  • @Target:指定注解可以应用的目标(如类、函数、属性等)。
  • @Retention:指定注解的保留策略(如源代码、编译时、运行时)。
  • @Repeatable:允许在同一目标上多次使用相同的注解。
  • @MustBeDocumented:指定注解应该包含在生成的 API 文档中。

例如:

在这个例子中,MyAnnotation 注解只能应用于类和函数,并且在运行时保留,同时会被包含在 API 文档中。

4. 注解的处理

注解本身并不会改变代码的行为,它们只是附加在代码上的元数据。要利用注解,通常需要使用反射或注解处理器来读取和处理这些注解。

例如,使用反射来读取类上的注解:

这个代码会输出 Hello, World!,因为 MyClass 类上应用了 MyAnnotation 注解,并且传递了 "Hello, World!" 作为参数。