`
FlyingFairy
  • 浏览: 11942 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java学习的警告——@SuppressWarnings

阅读更多

学习编程的都会知道,警告一般都是会被忽略,error才是需要我们关注的地方。

然而,今天在敲代码的时候发现了这样个好玩的东西。(就是好奇了一下下。。)

例如在eclipse中把鼠标光标移到警告的地方,有些会出现一些提示。

就像在使用 异常机制的finally {}语句时,就会提示加入@SuppressWarnings("finally")语句。(有些人可能会觉得我好无聊,,)

我比较好奇,这样一行不执行的类似注解的代码,到底是干什么用。在吃饱撑的闲来无事的情况下,我问了下度娘。度娘告诉我,@SuppressWarnings这个批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

保持静默,就是我知道了这个警告,但是我表示“哦,这个啊,无所谓,Let it go~”

一般我们对待警告的就是这个态度。

不过我了解到一个信息:比如有个类实现了java.io.Serialize接口:

 

package Nastu.test;
 
public class TestSerial implements java.io.Serializable {
 
}

 

如果代码仅仅写上这样,放在eclipse里会给你提示一个黄色的警告,为啥呢,就是因为,你实现了Serializable 接口,但是没有给出

 

private static final long serialVersionUID = 5952689219411916553L;

 

类似这样的私有字段(这个字段是实现了Serializable接口需要的,但不必须)

 

只要加上类似这样的一个字段,黄色警告就会消失,但是你如果就是不想加这个字段,同时还不想看到那个黄色的警告,没问题,那就要在类上加一个注解(@SuppressWarnings("serial")

 

 

 

 

package Nastu.test;
 
@SuppressWarnings("serial")
public class TestSerial implements java.io.Serializable {
 
}

 这样eclipse就不会有那个黄色的警告了

 

 

不过我们还是推荐给出private static final long serialVersionUID = 5952689219411916553L;

 

当你的类进行序列化和反序列化操作的时候如果没有这个字段可能会出问题,所以尽量加上这个字段,不要用@SuppressWarnings("serial")注解

2
1
分享到:
评论

相关推荐

    @SuppressWarnings

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

    关于@SuppressWarnings("uncheck ")(转)

    关于@SuppressWarnings("uncheck ")

    Java分组、分页源码

    详细完整的实现 java分组和分页功能 public static final int PAGE_SIZE = 5; // 每页记录数 public static final int GROUP_SIZE = 5; // 每组显示的页数 private List<ClaimVoucher> list;// 要返回的某一页的...

    @SuppressWarnings简介

    :java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。

    jsp图书馆管理系统毕业设计

    import java.util.List; import cn.edu.nuist.model.Bookcase; public interface BookcaseDao { public void save(Bookcase b); public void delete(Long id); @SuppressWarnings("unchecked") public ...

    java SuppressWarnings

    java SuppressWarningsjava SuppressWarningsjava SuppressWarnings

    java编写根据模板导出excel

    import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.servlet.ServletContext; import ...

    观看韩顺平学习整理java的笔记到异常

    帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final...

    flume-plugin-maven-plugin-1.0.zip

    suppress-warnings.zip,@suppressWarnings注释的常量@suppressWarnings注释的常量

    java写字板字体文件类源代码

    @SuppressWarnings("static-access") public FontFrame(MyNotepad myNotepad){ @SuppressWarnings("unused") int i = this.showConfirmDialog(myNotepad, createJPanel(), "字体", JOptionPane.OK_CANCEL_...

    计算器java源码

    @SuppressWarnings("serial") public class testCalculator extends Frame { GridLayout g1; Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15; Panel p1,p2; Double x,y; JTextField tf1 = ...

    java网络编程抓取指定网页信息--UrlHtml(java源码)

    @SuppressWarnings("deprecation") public static void main(String[] s) throws IOException{ try { URL url = new URL("http://www.kum.net.cn"); DataInputStream in = new DataInputStream(url.open...

    ssh 万能类分页系统,可复用!

    import java.io.Serializable; import java.util.List; public class PageBean<DUser> implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private List<DUser> list;/...

    Java注释@interface的用法

    java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。 @Override,@Deprecated,@SuppressWarnings为常见的3个注解。 注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记...

    Java版水果管理系统源码-huihe_2020summer:2020假期spring学习,vue留给你们了,有兴趣自己可以看官方文档,中文很

    2020假期spring学习 1.注解和反射 1.注解 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。 内置的注解 作用在代码的注解是 @...

    CacheManager.java 管理缓存

    @SuppressWarnings("all") public class CacheManager { private static HashMap cacheMap = new HashMap(); /** * 单实例构造方法 */ private CacheManager() { super(); } /** * 得到缓存。同步...

    java操作json全jar包

    import java.util.Iterator; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class TestJson { public static void main(String[] args) { String gg = "{\"name\":[\"啦啦\",\"哈哈\...

    俄罗斯方块

    import java.awt.*; import java.awt.event.*; @SuppressWarnings("serial") class ERS_Block extends Frame { public static boolean isPlay=false; public static int level=1,score=0; public static ...

    zxing.jar java生成二维码

    @SuppressWarnings("rawtypes") Map map = new HashMap(); //设置二维码的级别 map.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.M); //设置二维码中文本的编码格式 map.put(EncodeHintType....

Global site tag (gtag.js) - Google Analytics