在Android和Java开发中,有一些常用的注解用于添加元数据、配置代码行为、生成代码,或者进行其他类型的编码和工程任务。以下是一些常用的注解示例:
1.@Override:用于标记方法覆盖了父类的方法,以确保方法名和参数列表正确。
@Override
public void onCreate(Bundle savedInstanceState) {
// 重写父类方法
}
2.@Deprecated:用于标记一个类、方法或字段已经过时,不建议再使用。
@Deprecated
public void oldMethod() {
// 这个方法已经过时
}
3.@SuppressWarnings:用于抑制编译器警告,可以指定特定的警告类型。
@SuppressWarnings("unchecked")
public List<String> getItems() {
// 抑制警告
}
4.@Nullable 和 @NonNull:用于标记方法参数、返回值或字段的可空性,有助于静态分析工具检测空指针异常。
@Nullable
public String getName() {
// 可能返回null
}
@NonNull
private String nonNullField;
5.@SuppressLint:用于告诉Lint工具忽略指定的警告。
@SuppressLint("NewApi")
public void someMethod() {
// 忽略特定警告
}
6.@TargetApi:用于指定API级别,以便在不同API级别上编写兼容性代码。
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void someMethod() {
// 仅在Android 5.0及以上版本使用的代码
}
7.@RunWith 和 @Rule:用于JUnit测试,可以自定义测试运行器和规则。
@RunWith(MockitoJUnitRunner.class)
public class MyUnitTest {
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
// 测试方法
}
8.@Inject:用于Dagger 2依赖注入,标记需要注入的依赖项。
@Inject
ApiService apiService;
9.@Retention 和 @Target:用于定义自定义注解的保留策略和可应用位置。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {
String value() default "";
}
- @Parcelize:用于Kotlin数据类,自动生成Parcelable代码。
@Parcelize
data class MyData(val name: String, val age: Int) : Parcelable
这些是一些常见的注解示例,它们在Android和Java开发中经常使用,用于增强代码的可读性、可维护性和可靠性,或者进行特定任务的自动化处理。根据项目和需求,您还可以创建自定义注解来满足特定的需求。
网友评论