美文网首页
@SuppressWarnings使用说明

@SuppressWarnings使用说明

作者: IT枫 | 来源:发表于2019-08-06 22:37 被阅读0次

    注释类型:
    当你的编码可能存在警告⚠️时,比如安全警告,可以用它来消除。

        api中是这样描述的:
            指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。
            注意,在给定元素中取消显示的警告集是所有包含元素中取消显示的警告的超集。
            例如,如果注释一个类来取消显示某个警告,同时注释一个方法来取消显示另一个警告,那么将在此方法中同时取消显示这两个警告。
    
            根据风格不同,程序员应该始终在最里层的嵌套元素上使用此注释,在那里使用才有效。
            如果要在特定的方法中取消显示某个警告,则应该注释该方法而不是注释它的类。
    

    关键字 用途
    deprecation 使用了不赞成使用的类或方法时的警告
    unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。
    fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。
    path 在类路径、源文件路径等中有不存在的路径时的警告。
    serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告。
    finally 任何 finally 子句不能正常完成时的警告。
    unused 变量未被使用的警告提示
    WeakerAccess 禁止“Access can be private”的警告
    resource 关闭资源,有时我们明明关闭了资源还是提示未关闭资源警告⚠️
    rawtypes 抑制没有传递带有泛型的参数的警告
    incompletes-witch 取消对switch里面缺少case条目的警告
    restriction 取消使用不鼓励或禁止的引用的警告
    static-access 取消不正常的静态访问的警告
    synthetic-access to suppress warnings relative to unoptimized access from inner classes
    nls 取消对 non-nls字符串的警告
    all 关于以上所有情况的警告。

    在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决。
    编码时我们总会发现如下:变量未被使用的警告提示

        @SuppressWarnings("unused")
        @Inject
        Fabric mFabric; // Just for initialisation
    

    上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。

    当Android编译java代码的时候,经常会遇到一些warning,有一些是自己写得不规范,可以根据建议来修改,而有一些是你觉得必要的,不能修改的,比如说某些方法未被使用的warning。出现这种情况,你可以使用@Suppresswarnings("unused")来解决:

    相关文章

      网友评论

          本文标题:@SuppressWarnings使用说明

          本文链接:https://www.haomeiwen.com/subject/pcmgdctx.html