学习编程的都会知道,警告一般都是会被忽略,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")注解
相关推荐
同样,可以使用`@SuppressWarnings("deprecation")`来抑制与使用`@Deprecated`方法相关的警告。此外,可以使用`value`参数来指定多个要抑制的警告类型,如`@SuppressWarnings(value={"unchecked", "deprecation"})`...
《MLDN学习笔记——Annotation》这篇博文主要探讨的是在编程领域中,特别是Java语言中,关于Annotation(注解)的深入理解和应用。Annotation是Java语言提供的一种元数据,它为程序提供了额外的信息,这些信息可以被...
这篇博客是关于Java 5.0新特性——Annotation的系统学习与整理笔记,通过讲解与实例,深入探讨了注解在Junit、Spring和Hibernate中的应用。 首先,注解是一种声明式的编程元素,它可以附加到类、接口、方法、变量等...
- `@SuppressWarnings`:抑制特定编译警告。 11.8 JDK元注解 元注解是注解的注解,用于定义其他注解的行为。常见的元注解包括: - `@Retention`:指定注解的生命周期,如运行时(Runtime)、类文件(ClassFile)或...
本篇文章将重点介绍第16章中的内容——JDK内置的基本标注类型,包括`Override`、`Deprecated`、以及`SuppressWarnings`这三个核心标注。 ### 16.2 JDK内置的基本标注类型 #### 16.2.1 重写(Override) **概述**...
- `@ SuppressWarnings`:此注解用于指示编译器忽略特定类型的警告,如在使用过时方法时产生的"deprecation"警告。 2. **Java第三方注解** - 在Spring框架中,注解被广泛使用以简化配置和增强代码的可读性: - `...
《良葛格Java JDK 5.0学习笔记》是一份详尽的教程资源,旨在帮助开发者深入理解并掌握Java开发工具包(Java Development Kit)的第5个主要版本——JDK 5.0。这份笔记涵盖了JDK 5.0中的核心特性、改进和新功能,是...
从JDK5开始,Java引入了一个重要的特性——元数据支持,即注解。这是一项强大的功能,它允许开发者在不改变原有代码逻辑的情况下向源代码中添加额外的信息。注解在代码中表现为特殊的标记,这些标记可以在编译阶段、...
3. `@SuppressWarnings` —— 这个仅仅是告诉编译器忽略特定的警告信息,例如在泛型中使用原生数据类型。 ### 使用注解 使用注解可以提供关于代码的一些信息,但并不直接作用于它所注解的代码内容。例如,在 ...
3. `@ SuppressWarnings`: 抑制编译器警告,可以指定要抑制的警告类型。 4. `@NonNull`: 表示参数或字段不应为null,这通常用于静态分析工具。 三、自定义注解 开发者可以根据需要创建自己的注解,定义注解类型就像...
- `@SuppressWarnings`:抑制警告信息。 #### 自定义注解 除了标准注解外,开发者还可以创建自己的注解类型。自定义注解通过`@interface`声明,可以包含零个或多个成员(即注解元素)。每个注解元素都必须具有...