Java编译器在编译代码时,会产生一些安全警告信息。如果被@SuppressWarnings注解标记的元素,就可以告诉编译器抑制指定的警告。

先看看@SuppressWarnings注解在Java SE中的声明:

package java.lang;

import java.lang.annotation.*;
import static java.lang.annotation.ElementType.*; @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
String[] value();
}

由Java源代码声明我们了解到:@SuppressWarnings注解,可用于标记类、字段、方法、参数、构造方法和本地变量,并且它只在编译期生效,不会保留在class文件中。此注解声明的注解元素为String数组,意味着可以抑制多种警告。

接下来举例说明@SuppressWarnings注解的使用:

package org.springmorning.demo.javabase.annotation.pre;

import java.util.*;

/**
* @author 春晨
* @date 2019/1/18 9:36
* Copyright 2019 春晨 https://www.cnblogs.com/springmorning/p/10284244.html
*/
public class SuppressWarningsAnnotation { //此处声明了未经检查的操作方法
@SuppressWarnings("unchecked")
public List toList(Collection c) {
List list = Arrays.asList(c.toArray());
Collections.sort(list);
return list;
} @SuppressWarnings({"deprecation","unchecked"})
public static void main(String[] args) {
SuppressWarningsAnnotation overrider = new SuppressWarningsAnnotation();
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
//此处使用了弃用的操作方法
Date = new Date("20190118");
//此处使用了未经检查的操作方法
List sortedList = overrider.toList(list);
} }

如果以上把@SuppressWarnings标记注释掉,在编译时就会报unchecked警告和deprecation警告:

加上@SuppressWarnings注解,再编译,警告被抑制:

下节继续

下节将给大家讲解预定义注解@SafeVarargs的使用

@SuppressWarnings注解的使用的更多相关文章

  1. java注解 @SuppressWarnings注解用法

    @SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码工具左侧行列提示,但这种警告可以通过注释类型声明来取消 @SuppressWar ...

  2. JAVA中@SuppressWarnings注解的作用

    eclipse中开发JAVA代码时,经常会出现编译告警符号,影响代码可读性,也影响调试的断点符号正常显示,可以使用@SuppressWarnings注解来抑制这些告警符号的再现.1.抑制单个类型的告警 ...

  3. @SuppressWarnings注解用法详解

    @SuppressWarnings注解用法详解 今天来谈谈@SuppressWarnings注解的作用. J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条 ...

  4. Java中@SuppressWarnings注解用法(转)

    背景: J2SE提供的最后一个注解是@SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. @SuppressWarnings注解允许您选 ...

  5. @SuppressWarnings注解用法

    @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在方法上加上@SuppressWarnings ...

  6. sping中 各种注解——@SuppressWarnings注解用法

    @SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在 ...

  7. @SuppressWarnings注解用法详解(转)

    原文连接https://blog.csdn.net/sysware_carol/article/details/52100580 今天来谈谈@SuppressWarnings注解的作用. J2SE 提 ...

  8. @SuppressWarnings注解的用法

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...

  9. @SuppressWarnings—注解用法详解

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWar ...

  10. Spring注解之 @SuppressWarnings注解

    简介:java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告,不 ...

随机推荐

  1. TS 基础及在 Vue 中的实践:TypeScript 都发布 5.0 版本啦,现在不学更待何时!

    大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端.跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营. 微软于3月16日发布了 TypeScript 5.0 版本 ...

  2. ACM-DP-数塔问题

    Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告 ...

  3. [ACM]Uva572-Oil Deposits-DFS应用

    #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> usin ...

  4. java开发技术栈如何选型

    前言 2023泰山景区门票免费政策是从1月21日到3月31,今天4.1起不再免费啦,泰山的人.山和系统终于平安的渡劫过去! 洪峰时疯狂的抢票.各类攻击,分销MT两次凌晨抗洪事件,我及其我的团队又一次得 ...

  5. 第一次博客:PTA题目集1-3总结

    第一次博客:PTA题目集1-3总结 前言:JAVA是一门非常好的语言,因其面向对象的思想,在解决问题时思路与上学期学习的C语言截然不同,但是其优势也是显然易见的,特别是在写大型程序时其面向对象的思想, ...

  6. Laplace分布算子开发经验分享

    摘要:Laplace 用于 Laplace 分布的概率统计与随机采样. 本文分享自华为云社区<Laplace分布算子开发经验分享>,作者:李长安. 1.任务解析 详细描述: Laplace ...

  7. 【JSOI2008】最大值

    [JSOI2008]最大值 线段树裸题!动态RMQ. 这道题的操作是直接在序列末尾添加数值,所以连\(push_{down}\),以及建树什么的都不用了.. 这真是写过的最简短的一道\(seg_{tr ...

  8. 多进程和多线程,Thread模块 GIL全局解释锁, 进程池与线程池,协程

    1.多进程实现TCP服务端并发: import socket from multiprocessing import Process def get_server(): server = socket ...

  9. USART串口_第三课

    串口发送与接收 1.阻塞式发送 1.1.练习receive() 和Transmit() 测试1:测试接收发送函数 receive() 和 Transmit() 在main()中写入测试代码:将stm3 ...

  10. .NET周报 【4月第4期 2023-04-23】

    国内文章 2023成都.NET线下技术沙龙圆满结束 https://www.cnblogs.com/edisonchou/p/2023_chengdu_dotnet_club_activity_rev ...