J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
一点背景:J2SE 5.0 为 Java 语言增加了几个新的特性,并且和它们一起增加了许多新的警告并承诺在将来增加更多的警告。您可以为 "javac" 增加 -Xlint 参数来控制是否报告这些警告(如上面的 @Deprecated 部分所示)。 默认情况下,Sun 编译器以简单的两行的形式输出警告。通过添加 -Xlint:keyword 标记(例如 -Xlint:finally),您可以获得关键字类型错误的完整说明。通过在关键字前面添加一个破折号,写为 -Xlint:-keyword,您可以取消警告。(-Xlint 支持的关键字的完整列表可以在 javac 文档页面上找到。)
下面是一个清单: 关键字 用途 deprecation 使用了不赞成使用的类或方法时的警告 unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。
fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。 path 在类路径、源文件路径等中有不存在的路径时的警告。 serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告。 finally 任何 finally 子句不能正常完成时的警告。 all 关于以上所有情况的警告。
@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个 @SuppressWarnings 批注,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止您对警告无动于衷 — 您看到的每一个警告都将值得注意。
分享到:
相关推荐
在这个例子中,通过使用 `@SuppressWarnings("unchecked")` 注解,成功消除了未经检查的转换警告,使得代码更加简洁。 总之,`@SuppressWarnings("unchecked")` 是一个非常实用的注解,它可以有效地帮助开发者管理...
### @SuppressWarnings 注解详解 #### 一、概述 在Java编程中,`@SuppressWarnings`是一个十分重要的注解,主要用于抑制代码中的警告信息。随着Java语言的发展,为了提高代码质量和安全性,J2SE 5.0引入了许多新...
在Java编程语言中,`@SuppressWarnings`是一个非常实用的注解,它允许开发者有选择性地忽略编译器发出的警告。这对于优化代码质量和可读性尤其重要,尤其是在处理一些已知但不会对程序功能产生直接影响的问题时。...
`@SuppressWarnings` 是 Java 编程语言中的一个注解,它在 J2SE 5.0 版本中被引入,用于控制编译时的警告信息。这个注解的目的是让程序员能够选择性地抑制(忽略)特定类型的编译器警告,避免在代码中看到这些警告,...
对于 `@SuppressWarnings` 批注,需要指定要取消的警告类型,例如 `@SuppressWarnings("unchecked")` 用于取消未检查的转换警告。可以使用 `-Xlint` 参数来控制警告的报告。 使用 `@SuppressWarnings` 批注可以提高...
@SuppressWarnings("unchecked") public List getBookcase(); public Bookcase getBookcaseById(Long id); public boolean validateByName(String name); public int allRowCount(); @...
这里使用`@SuppressWarnings("unchecked")`注解来抑制未检查转换的警告。 ##### 3.3 Switch语句中的fallthrough 如果在`switch`语句中没有使用`break`关键字来结束case分支,则会触发fallthrough警告。例如: ```...
例如,使用 @SuppressWarnings("unchecked") 可以抑制unchecked警告信息,使用 @SuppressWarnings("deprecation") 可以抑制废弃警告信息。 三、serialVersionUID 的作用 serialVersionUID 是一个私有静态常量,...
为了抑制这种警告,可以使用`@SuppressWarnings("unchecked")`注解,但需谨慎使用,因为这可能隐藏了潜在的类型安全问题。 ### `@SuppressWarnings("deprecation")` 当一个方法、类或构造函数被标记为过时...
在示例中,若不希望看到未检查类型转换的警告,可以在方法上添加`@SuppressWarnings("unchecked")`。然而,需要注意的是,过度使用`@SuppressWarnings`可能会隐藏潜在的编程问题,因此应谨慎使用。 除了这些内置的...
@SuppressWarnings("unchecked") public Map queryForMap(String sql_name, Object parameterObject, String keyProp,String valueProp) { Map map = null; try { map = sqlMap.queryForMap(sql_name, ...
@SuppressWarnings("unchecked") public GenericHibernateDaoImpl() { // 通过反射获取 T 的类型信息实例 this.clazz = (Class) ((ParameterizedType) this.getClass().getGenericSuperclass()) ....
@SuppressWarnings("unused") private List pageList;// 存放分页中5页信息 @SuppressWarnings("unused") private boolean isFirstPage;// 是否为第一页 @SuppressWarnings("unused") private boolean ...
@SuppressWarnings("unchecked") public List<Vip> getVips(int requestedPage) { int begin = (requestedPage - 1) * 11; if(begin ){ begin = 0; } int sum = getRowCount(); int end; if ...
在这个例子中,@SuppressWarnings("unchecked")用于抑制未检查的类型转换警告。 4. **自定义注解@NewAnnotation的使用**: ```java @NewAnnotation("mainmethod") public class AnnotationTest { public ...
此外,可以使用`value`参数来指定多个要抑制的警告类型,如`@SuppressWarnings(value={"unchecked", "deprecation"})`。 4. 自定义Annotation:除了内置的注解,Java允许开发者创建自己的注解类型。例如,`Debug`是...
3. **`@SuppressWarnings`**:`@SuppressWarnings` 注解可以用来抑制编译器发出的警告。比如在`SomeClass`中,由于使用了未指定类型的`HashMap`,编译器发出了未检查操作的警告。通过在`doSomething`方法上添加`@...
8. **运行时注解处理**:在`MyTest`类中,`@MyAnnotation`和`@Deprecated`、`@SuppressWarnings("unchecked")`一起使用,展示了如何在同一个方法上应用多个注解。同时,`@MyAnnotation`的使用展示了如何通过反射获取...