`
Riddick
  • 浏览: 642107 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

@SuppressWarning用法的解析

    博客分类:
  • J2SE
阅读更多
解释一:  

       屏蔽某些编译时的警告信息
        在强制类型转换的时候编译器会给出警告
       加上

       程序代码

       @SuppressWarnings("unchecked")

       就不会警告了

解释二:

注释类型

当你的编码可能存在警告时,比如安全警告,可以用它来消除

api中是这样描述的

指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。注意,在给定元素中取消显示的警告集是所有包含元素中取消显示的警告的超集。例如,如果注释一个类来取消显示某个警告,同时注释一个方法来取消显示另一个警告,那么将在此方法中同时取消显示这两个警告。

根据风格不同,程序员应该始终在最里层的嵌套元素上使用此注释,在那里使用才有效。如果要在特定的方法中取消显示某个警告,则应该注释该方法而不是注释它的类。

解释三:

@SuppressWarnings

J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

一点背景:J2SE 5.0 为 Java 语言增加了几个新的特性,并且和它们一起增加了许多新的警告并承诺在将来增加更多的警告。您可以为 "javac" 增加 -Xlint 参数来控制是否报告这些警告(如上面的 @Deprecated 部分所示)。

默认情况下,Sun 编译器以简单的两行的形式输出警告。通过添加 -Xlint:keyword 标记(例如 -Xlint:finally),您可以获得关键字类型错误的完整说明。通过在关键字前面添加一个破折号,写为 -Xlint:-keyword,您可以取消警告。(-Xlint 支持的关键字的完整列表可以在 上找到。)下面是一个清单:

关键字                                            用途

deprecation                     使用了不赞成使用的类或方法时的警告

unchecked                       执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。

fallthrough                        当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。

path                                   在类路径、源文件路径等中有不存在的路径时的警告。

serial                                 当在可序列化的类上缺少 serialVersionUID 定义时的警告。

finally                                任何 finally 子句不能正常完成时的警告。

all                                      关于以上所有情况的警告。


@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个 @SuppressWarnings 批注,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止您对警告无动于衷 — 您看到的每一个警告都将值得注意。
分享到:
评论

相关推荐

    鹦鹉:像鹦鹉一样学习Java;

    鹦鹉java基础练习逻辑书名:java编程的逻辑反映:21章-反射注释:22章-注解内置注解: @Override :不写不改变方法重新的本质@Deprecated :Java9多了因为,forRemoval属性@SuppressWarning框架和库的注解:自定义...

    SuppressWarning:添加SuppressWarning批注的简单应用程序

    // 使用了已废弃的类或方法 } ``` 在某些情况下,你可能希望抑制特定方法的警告: ```java public class Example { @SuppressWarnings("rawtypes") public void method() { // 使用了泛型的原始类型,会产生...

    COO_Dungeon:COO Dungeon-许可3计算机科学-2015-2016-里尔大学

    也不存在不必要的@SuppressWarning (2)您可以完成第一级(2)我们可以进入下一个层次(2)玩几秒钟不会引发重大错误(2先验)没有2个几乎相同的类(2先验)没有2种几乎相同的方法(2先验)没有2个几乎相同的代码...

    史上最全的Android的工具类

    4. `@SuppressWarning`:抑制编译器警告,但不推荐过度使用。 其次,日志(Log)在Android调试过程中至关重要。一个完善的日志工具类通常会包含以下功能: 1. `Log.d()`, `Log.i()`, `Log.w()`, `Log.e()`:分别...

    详解Android注解 Annotation

    4. `@SuppressWarning`: 可以抑制编译器的警告信息。 三、自定义注解 自定义注解允许开发者创建自己的元数据。定义注解使用`@interface`关键字,并可以包含元素(成员),元素可以有默认值。例如,创建一个用于标记...

    电子科技大学软件测试实验报告.doc

    - `@SuppressWarning`:抑制特定类型的编译警告,如未使用变量、未检查的类型警告等。 三、实验内容与步骤 1. 在Eclipse中安装并配置Junit插件,创建测试项目。 2. 对SaleMachine程序进行白盒测试,这涉及分析程序...

    SuppressWarning注解中的属性介绍以及属性说明

    hello

    ModDroid:具有面部识别功能的Modbus Android应用

    `@ SuppressWarning("unused")`注解表明开发者可能在处理未使用的变量或方法,这有助于减少编译警告并保持代码整洁。 **4. 应用场景** - 工业环境:在工厂自动化系统中,员工可以通过面部识别登录ModDroid,然后...

    Java Annonation

    ### Java Annotation 规范详解 #### 一、Java Annotation 概述 在现代软件开发过程中,元数据(Metadata)的概念变得越来越重要。...对于开发者来说,熟练掌握这些注解及其使用方法是非常重要的。

    JS助手a11y.js.zip

    a11y.js 是一套用于辅助功能属性的 JS 助手。a11y.state 是第一套可用的 JS 助手,它主要应用于 ARIA States 集合。...要全面禁止警告和错误,就将 a11y.state .suppressWarning = true 。 标签:a11yjs

Global site tag (gtag.js) - Google Analytics