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或者本文章都可查询

  • 相关阅读:
    自定义View的ToolBar布局报错Error:(2) No resource identifier found for attribute 'context' in package 'c
    在学git之主分支 branch
    获取发布版SHA1
    关于开启线程与UI的操作
    播放音频和视频(VideoView控件)
    通知栏Notification的应用
    Android 真机调式 Installation failed with message 远程主机强迫关闭了一个现有的连接。. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing. WA
    运行程序申请危险权限
    mysql乐观锁总结和实践
    Nginx配置文件nginx.conf中文详解
  • 原文地址:https://www.cnblogs.com/cxuanBlog/p/10927486.html
Copyright © 2011-2022 走看看