这几天在项目中导入源码时,发现
import javax.annotation.Nullable
处报错。
仔细观察,发现在JDK中javax.annotation文件夹下并没有Nullable这个类。
经过苦苦搜索,终于发现问题,底层库中并没有使用jdk中的annotation,很多博客上说导入android库里的annotation,这样的确可以作为注解,但是有些底层就不能用了,后来自己终于找到方法。
在build.gradle中导入
com.google.code.findbugs:jsr305:3.0.2
包即可正常工作(版本可以换),如下图:
这几天在项目中导入源码时,发现 import javax.annotation.Nullable处报错。仔细观察,发现在JDK中javax.annotation文件夹下并没有Nullable这个类。经过苦苦搜索,终于发现问题,底层库中并没有使用jdk中的annotation,很多博客上说导入android库里的annotation,这样的确可以作为注解,但是有些底层就不能用了,后来自己终于找到方...
赠送jar包:
java
x.
annotation
-api-1.2.jar;
赠送原API文档:
java
x.
annotation
-api-1.2-
java
doc.jar;
赠送源代码:
java
x.
annotation
-api-1.2-sources.jar;
赠送Maven依赖信息文件:
java
x.
annotation
-api-1.2.pom;
包含翻译后的API文档:
java
x.
annotation
-api-1.2-
java
doc-API文档-中文(简体)版.zip;
Maven坐标:
java
x.
annotation
:
java
x.
annotation
-api:1.2;
标签:
annotation
、
java
x、api、jar包、
java
、中文文档;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
在某些Android开源库中有时会遇到下面的引用
找
不到
的
问题
:
import
java
x.
annotation
.Nonnull;
import
java
x.
annotation
.
Nullable
;
其实Android实现了
java
x的类似注解,可以使用下面的引用替换:
import android.support.
annotation
.NonNull;
import android.support...
http://androidren.com/index.php?qa=315&qa_1=android%E5%B7%A5%E7%A8%8B%E4%B8%AD
java
x-
annotation
-
nullable
%E6%89%BE%E4%B8%8D%E5%88%B0%E7%9A%84%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88
我们在某些Android开源库中会遇到
这几天在项目中导入源码时,发现 import
java
x.
annotation
.
Nullable
处报错。
仔细观察,发现在JDK中
java
x.
annotation
文件夹下并没有
Nullable
这个类。
引入依赖:
<!-- jsr305 用于代码检查 -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
赠送jar包:
java
x.
annotation
-api-1.3.2.jar;
赠送原API文档:
java
x.
annotation
-api-1.3.2-
java
doc.jar;
赠送源代码:
java
x.
annotation
-api-1.3.2-sources.jar;
赠送Maven依赖信息文件:
java
x.
annotation
-api-1.3.2.pom;
包含翻译后的API文档:
java
x.
annotation
-api-1.3.2-
java
doc-API文档-中文(简体)版.zip;
Maven坐标:
java
x.
annotation
:
java
x.
annotation
-api:1.3.2;
标签:
annotation
、
java
x、api、jar包、
java
、API文档、中文版;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
JDK9及以上版本没有
java
x.
annotation
-api-***.jar包 ,无法使用注解:@Resource
JDK新特性,高版本JDK没有自带的
java
x(
java
扩展包)了。或者是使用的JDK不完整。
下载
java
x.
annotation
.jar包,导入到lib文件夹下,然后Add as library,就可以使用@Resource
下面是maven依赖<dependency>
<groupId>
java
x.
annotation
</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</dependency>maven依赖地址:http://mvnrepository.com/arti
java
x.
annotation
.nonnull是
Java
语言中的一个注解(
annotation
),它的作用是标识一个方法、参数或字段不允许为空(null)。
在
Java
编程中,经常会出现空指针异常(NullPointerException)的情况,这是因为程序在使用一个空对象的时候,没有进行判断就直接调用了该对象的方法或属性,导致程序出错。为了避免这种情况的发生,我们可以在方法、参数或字段上使用
java
x.
annotation
.nonnull注解,强制规定对象不允许为空。这样一来,当程序在使用一个标记为nonnull的对象时,编译器会自动进行检查,如果程序调用了该对象的某个方法或属性,而该对象为空,就会在编译时报错,从而有效地避免了空指针异常的发生。
除了用于规定方法、参数或字段不允许为空之外,
java
x.
annotation
.nonnull注解还可以用于编写文档,让其他程序员明确知道使用该方法或参数时是否需要进行非空判断。
需要注意的是,作为一个注解,
java
x.
annotation
.nonnull并不是
Java
语言的核心特性,如果想要使用这个注解,需要先引入相关的类库。目前,
Java
语言中广泛使用的类库是JSR-305,可以通过在pom.xml中添加以下依赖引入这个类库:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
总之,
java
x.
annotation
.nonnull注解是
Java
编程中一个非常实用的工具,能够有效地避免空指针异常的发生,提高程序的稳定性和健壮性。