--- ## ElementType.TYPE_PARAMETER 和 TYPE_USE **TYPE_PARAMETER** - 用于泛型类型参数 ```java @Target(ElementType.TYPE_PARAMETER) public @interface TypeParam {} class Example<@TypeParam T> { T field; } ``` **TYPE_USE** - 用于任何类型使用的地方 ```java @Target(ElementType.TYPE_USE) public @interface NotNull {} public class Example { @NotNull String name; void method(@NotNull String param) { @NotNull String local = "value"; } } ```