zoukankan      html  css  js  c++  java
  • @SuppressWarnings 用法

    从Java 5.0起,您可以使用java.lang.SuppressWarning注释,来停用与编译单元子集相关的编译警告

    作用:用于抑制编译器产生警告信息。

    Idea 设置泛型检查,变量、方法未使用检查

    从 eclipse 转换到idea 发现有很多不习惯的地方,比如说

    String s;
    List list = new ArrayList();
    

    没有未使用的变量,未检查泛型,未使用的方法提示,特意查找了一下相关资料

    设置泛型检查

    我使用的是mac电脑,windows电脑应该类似

    打开如图

    会出现如下页面

    选择 editor —> inspections —> 搜索 Raw use of —> 勾上 Raw use of parameterized class

    效果如图:

    设置变量未使用提示

    打开如图:

    出现如下页面

    在 Editor —> General —> Errors and Warnings —> 选择 Unused symbol

    **右侧勾选上 Error stripe mark 和 Effects 下面选择 Underwaved波浪线 **

    参考:

    https://blog.csdn.net/Lovincc/article/details/80464782

    https://blog.csdn.net/codejas/article/details/78657560

    变量未使用产生的警告

    如上设置完成之后,变量未使用的提示应该是这样的:

    如图 , list、set、map 都未被使用

    1.为未使用的变量设置SuppressWarning

    在方法前添加

    @SuppressWarning("unused")
    

    能够越过变量未使用检查,@SuppressWarning 中的属性我们稍后再讨论。

    2.对未使用的方法添加SuppressWarning跳过方法未调用检查

    可以在方法上添加SuppressWarning 跳过对方法未使用的检查

    3.为单行泛型添加SuppressWarning 跳过泛型检查

    在单个泛型代码上添加@SuppressWarning("rawtypes")可以跳过泛型检查,但是需要注意: 还需要在方法上添加

    @SuppressWarning("unchecked")注释

    如上图所示,可以对单个泛型设置@SuppressWarning 跳过类型检查

    4. 为方法体上添加SuppressWarning 跳过泛型检查

    如果一个方法体上含有多个未被检查的泛型,需要在方法体上添加@SuppressWarning(value={"unchecked","rawtypes"}) 跳过泛型检查

    如图所示:

    也可以使用 @SuppressWarning("all") ,来跳过所有的检查。

    5.@SuppressWarning 中的属性介绍以及属性说明

    • all,抑制所有警告
    • boxing,抑制与封装/拆装作业相关的警告
    • cast,抑制与强制转型作业相关的警告
    • dep-ann,抑制与淘汰注释相关的警告
    • deprecation,抑制与淘汰的相关警告
    • fallthrough,抑制与switch陈述式中遗漏break相关的警告
    • finally,抑制与未传回finally区块相关的警告
    • hiding,抑制与隐藏变数的区域变数相关的警告
    • incomplete-switch,抑制与switch陈述式(enum case)中遗漏项目相关的警告
    • javadoc,抑制与javadoc相关的警告
    • nls,抑制与非nls字串文字相关的警告
    • null,抑制与空值分析相关的警告
    • rawtypes,抑制与使用raw类型相关的警告
    • resource,抑制与使用Closeable类型的资源相关的警告
    • restriction,抑制与使用不建议或禁止参照相关的警告
    • serial,抑制与可序列化的类别遗漏serialVersionUID栏位相关的警告
    • static-access,抑制与静态存取不正确相关的警告
    • static-method,抑制与可能宣告为static的方法相关的警告
    • super,抑制与置换方法相关但不含super呼叫的警告
    • synthetic-access,抑制与内部类别的存取未最佳化相关的警告
    • sync-override,抑制因为置换同步方法而遗漏同步化的警告
    • unchecked,抑制与未检查的作业相关的警告
    • unqualified-field-access,抑制与栏位存取不合格相关的警告
    • unused,抑制与未用的程式码及停用的程式码相关的警告

    文章参考: https://www.ibm.com/support/knowledgecenter/zh-tw/SSQ2R2_9.1.1/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm

    后记: @SuppressWarning 注解的主要作用就是抑制编译时期所产生的警告,从而提高程序的可读性,对于上面 @SuppressWarning 的所有属性,读者不用全部记忆,读两遍加深印象即可。用到的时候从google或者本文章都可查询

  • 相关阅读:
    Java多线程之二:Thread
    并发编程之Future/FutureTask/CompletionService/CompletableFuture
    Java8使用并行流(ParallelSream)
    IDEA 运行报Command line is too long解法
    Comparator VS Comparable
    设计模式6-观察者模式
    设计模式-策略模式VS工厂模式
    设计模式4-策略模式
    设计模式5-代理模式
    设计模式3-工厂模式
  • 原文地址:https://www.cnblogs.com/cxuanBlog/p/10927486.html
Copyright © 2011-2022 走看看