博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917
博客园: 追风917
Annotation
Annotation就是注解了,JDK1.5新增加功能,该功能可用于类,构造方法,成员变量,方法,参数等的声明中,比如常见的@Override,butterknife库里的@Bind, 该功能并不影响程序的运行,但是会对编译器警告等辅助工具产生影响。
关于java注解的详细介绍,包括概念,作用,分类,解析及几个常用的安卓库的原理解析等请来这里查看:Java Annotation 及几个常用开源项目注解原理简析
Android Annotation
Android Annotation是以Support Library的形式给我们提供的,从安卓19.1开始出现,该包在sdk目录\Sdk\extras\android\m2repository\com\android\support\support-annotations下:
api版本23下,android studio里是直接可以使用的,不用添加依赖库,以前的api可能需要,请酌情增删。api23暂时有39个注解,可以这里查看:
安卓注解有8种类型,分别是Nullness注解、资源类型注解、线程注解、变量限制注解、权限注解、结果检查注解、CallSuper注解、枚举注解(IntDef和StringDef)。
下面简单摘录几个,以飨读者:
Nullness注解
包括@NoNull和@Nullable,这里以@NoNull为例说明:
先看下@NoNull的源码:
@Retention(CLASS)
@Target({METHOD, PARAMETER, FIELD})
public @interface NonNull {
}
这里