关于 @SuppressWarnings("unchecked") <转载>
2014-03-04 08:53
447 查看
这是JDK1.5中新加入的Annotation语法,用来压制警告信息的。 编写代码时,有时会提示一些警告(例如:使用已经废弃的类,没有加入泛型等),如果不想让程序提示这些警告信息,可以在提示警告的方法啊前加入这个配置,以压制警告信息。 or
J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。 一点背景:J2SE 5.0 为 Java 语言增加了几个新的特性,并且和它们一起增加了许多新的警告并承诺在将来增加更多的警告。您可以为 "javac" 增加 -Xlint 参数来控制是否报告这些警告(如上面的 @Deprecated 部分所示)。 默认情况下,Sun 编译器以简单的两行的形式输出警告。通过添加 -Xlint:keyword 标记(例如 -Xlint:finally),您可以获得关键字类型错误的完整说明。通过在关键字前面添加一个破折号,写为 -Xlint:-keyword,您可以取消警告。(-Xlint 支持的关键字的完整列表可以在 javac 文档页面上找到。)
or
压制要求提供串行版本标志serialVersionUID的警告信息 serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如: private static final long serialVersionUID = xxxxL; 当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个 提示功能告诉你去定义 。在Eclipse中点击类中warning的图标一下,Eclipse就会 自动给定两种生成的方式。如果不想定义它,在Eclipse的设置中也 可以把它关掉的,设置如下: Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==> Potential programming problems 将Serializable class without serialVersionUID的warning改成ignore即可。 如果你没有考虑到兼容性问题时,就把它关掉,不过有这个功能是好的,只要任何类别实现了Serializable这个接口的话,如果没有加入serialVersionUID,Eclipse都会给你warning提示,这个serialVersionUID为了让该类别Serializable向后兼容。 如果你的类Serialized存到硬盘上面后,可是后来你却更改了类别的field(增加或减少或改名),当你Deserialize时,就会出现Exception的,这样就会造成不兼容性的问题。 但当serialVersionUID相同时,它就会将不一样的field以type的预设值Deserialize,可避开不兼容性问题。
相关文章推荐
- 关于<appSettings file="app.config" >引用外部文件的配置值
- 关于标签<meta http-equiv="X-UA-Compatible" content="IE=edge" />
- nil Nil null @"" 关于nil和 null和NSNull的区别及相关问题||(null) <null> nil 问题
- 关于出现Don't know how to iterate over supplied "items" in &amp;amp;lt;forEach&amp;amp;gt;异常
- 关于JSP中单击任意标签弹出文件选择框(<input type="file"/>)的实现方法
- 关于<input type="button" value="搜索">默认样式的清除
- 将h.264视频流封装成flv格式文件(一.flv格式)(转载)<a href="http://blog.csdn.net/yeyumin89/article/details/7932368"></a>
- 关于ios的<tgmath.h> (转载的)
- 关于 '<a[^>]+href=["\'](.*?)["\']' 的解释
- 关于<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
- 关于RAC的简单使用<转载>
- 20130114--关于<a href="#">页面变形
- 关于<input type="image"/>
- 关于#include后面<>和" "的区别
- 关于 "Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function" 的解决方案
- 关于<meta NAME="keywords" CONTENT="">
- C++中,关于#include<***.h>和#include"***.h"的区别
- 关于<LDD3> "setconsole.c" Alesssandro Rubini 的邮件回复
- 关于<meta http-equiv="Content-Type" content="text/html:charset=UTF-8">
- 关于<s:action executeResult="true">死循环