SuppressWarnings(取消警告提示)
2017-12-25 10:24
197 查看
注释类型
当你的编码可能存在警告时,比如安全警告,可以用它来消除
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 支持的关键字的完整列表可以在 上找到。)下面是一个清单:
屏蔽某些编译时的警告信息 在强制类型转换的时候编译器会给出警告
加上程序代码@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不含有对外部类的隐式引用
。
当你的编码可能存在警告时,比如安全警告,可以用它来消除
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不含有对外部类的隐式引用
。
相关文章推荐
- [置顶] Android开发之AlertDialog警告提示框删除与取消 详解代码
- 取消WinXP的磁盘空间不够警告提示
- 公司网站被百度网址安全中心 警告 该怎么取消拦截提示
- java applet数字签名以及取消浏览器警告提示
- Android开发之AlertDialog警告提示框删除与取消 详解代码
- 配置 JobhistoryServer 历史服务器,日志聚集功能,HDFS 文件系统用户权限检查,取消HDFS警告提示
- 取消IE脚本提示[图解]
- 删除IE加载项及取消加载项的提示
- Eclipse 警告提示:Access restriction:The type JPEGCodec is not accessible due to restriction on
- tomcat启动提示server.xml的context节点中不支持source属性警告的解决方法
- windows气泡提示取消方法(修改注册表)
- WIN7打开.CHM文件提示“已取消到该网页导航”
- IntelliJ Idea取消Could not autowire. No beans of 'xxxx' type found的错误提示(其实不是错误)
- Xcode中提示”xx“is missing from working copy 的警告。
- 如何取消firefox地址栏的自动补全/自动提示功能
- AR涂涂乐丨7.(end)取消“识别成功”提示面片、加入太阳系及其交互功能、退出按钮设置
- IntelliJ Idea取消Could not autowire. No beans of 'xxxx' type found的错误提示
- 教程-在F9后提示内存错误,点击了乎略,之后怎么取消乎略?
- selenium实践-如何验证警告、确认、提示信息