• @SuppressWarnings注解的使用


    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的使用

  • 相关阅读:
    1.JMeter===添加响应断言
    1.Linux下Git入门学习
    14.Selenium+Python使用火狐浏览器问题解决
    13.Selenium不再支持PhantomJS
    12.Selenium+Python案例 -- 今日头条(获取科技栏目的所有新闻标题)
    11.Selenium+Python案例--百度
    10.Selenium+Python+任务计划程序实现定时发送邮件
    The connection to adb is down and a sever error has occured的解决
    Eclipse与github整合完整版
    GIT命令整理
  • 原文地址:https://www.cnblogs.com/springmorning/p/10284244.html
Copyright © 2020-2023  润新知