SuppressWarnings(取消警告提示)

注释类型

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

api中是这样描述的

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

@SuppressWarnings

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

一点背景:J2SE 5.0  Java 语言增加了几个新的特性,并且和它们一起增加了许多新的警告并承诺在将来增加更多的警告。您可以为 "javac" 增加 -Xlint 参数来控制是否报告这些警告(如上面的 @Deprecated 部分所示)。
E:\java> javac   Test.java 
注意:Test.java   使用了未经检查或不安全的操作。 
注意:要了解详细信息,请使用   -Xlint:unchecked   重新编译。 

javac -Xlint:unchecked Test.java  cmd直接通过javac写

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

关键字

用途

deprecation

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

unchecked

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

fallthrough

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

path

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

serial

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

finally

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

all

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

boxing

装箱/拆箱操作相关的警告

cast

强转相关操作的警告

unused

忽略未使用的相关警告


屏蔽某些编译时的警告信息 在强制类型转换的时候编译器会给出警告 
加上程序代码@SuppressWarnings("unchecked")在代码里面写

 就不会警告了

 

@SuppressWarnings("deprecation")表示不检测过期的方法

 

Lint是一个静态检查器,它围绕Android项目的正确性、安全性、性能、可用性以及可访问性进行分析。它检查的对象包括XML资源、位图、ProGuard配置文件、源文件甚至编译后的字节码。

这一版本的Lint包含了API版本检查、性能检查以及其他诸多特性。其中还有一个重要的改动是Lint可以使用@SuppressLint标注忽略指定的警告。

@SuppressLint("NewApi"作用是屏蔽android lint错误

Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告.解决方法是在方法上加上@SuppressLint("NewApi")作用仅仅是屏蔽android lint错误,所以在方法中还要判断版本做不同的操作.

@SuppressLint("InlinedApi")

忽视内联字段可能不工作的老平台

@SuppressLint("HandlerLeak")应用问题:在ADT 20 Changes我们可以找到这样一个变化:“New Lint Checks: Look for handler leaks: This check makes sure that a handler inner class does not hold an implicit reference to its outer class.” 就是说在ADT20以后加入了一条新的检查规则:确保类内部的handler不含有对外部类的隐式引用 。


发布了232 篇原创文章 · 获赞 46 · 访问量 19万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览