相关疑难解决方法(0)

在Android Studio中使用@NonNull注释的正确方法

我想@NonNull在Android中使用注释,但我无法找到正确的方法来实现它.我建议你这个例子:

public void doStuff(@NonNull String s){
     //do work with s...    
}
Run Code Online (Sandbox Code Playgroud)

所以当我打电话doStuff(null)给IDE时会给我一个警告.问题是我不能依赖这个注释,因为像这个问题所指出的那样,它们不会传播得很远.所以我想对我的方法进行空检查,如下所示:

 if(s==null) throw new IllegalAgrumentException();
Run Code Online (Sandbox Code Playgroud)

但是假设这个IDE s!=null会警告我s==null总是假的.我想知道最好的方法是什么.

我个人认为应该有一个注释@ShouldntBeNull,只有检查并警告null不会传递给它,但是当值为null时不会抱怨.

java android annotations non-nullable

25
推荐指数
3
解决办法
1万
查看次数

什么是@RecentlyNonNull注释?

我正在Android Studio上进行代码检查,弹出以下警告

Probable bugs
@NotNull/@Nullable problems 
Not annotated method overrides method annotated with @RecentlyNonNull
Run Code Online (Sandbox Code Playgroud)

对于以下代码

@Override
public String toString() {
    return title;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我之前看过@NonNull注释,这意味着返回永远不能为空.但是什么是@RecentlyNonNull?我什么时候使用它?

谷歌搜索引导我到https://android.googlesource.com/platform/tools/metalava/+/fcb3d99ad3fe17a266d066b28ceb6c526f7aa415/stub-annotations/src/main/java/android/support/annotation/RecentlyNonNull.java

这没有提供任何解释.

lint recomendation是添加该注释,但它做了什么?

在此输入图像描述

java android

22
推荐指数
1
解决办法
3721
查看次数

标签 统计

android ×2

java ×2

annotations ×1

non-nullable ×1