学习编程的都会知道,警告一般都是会被忽略,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")注解