Java中SuppressWarnings("unchecked")的功能简介说明

戚薇 Java经验 发布时间:2023-06-26 09:12:50 阅读数:12321 1
下文笔者讲述SuppressWarnings的功能说明,如下所示

@SuppressWarnings("unchecked")功能

 告知编译器忽略指定的警告 
 采用此种方式标注后,编译完成后不会出现警告信息 

java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一
  可标注在类、字段、方法、参数、构造方法及局部变量上
@SuppressWarnings注解的示例
@SuppressWarnings("unchecked")
    让编译器忽略unchecked警告信息
       如使用listArrayList等未进行参数化产生的警告信息。

@SuppressWarnings("serial")
  当编译器出现此处的警告信息
   The serializable class WmailCalendar does notdeclare a static final serialVersionUID field of type long  
  使用此注解将警告信息去掉。

@SuppressWarnings("deprecation")
 当使用@Deprecated注释的方法
  编译器将出现警告信息
  使用这个注释将警告信息去掉

@SuppressWarnings("unchecked", "deprecation")
  告诉编译器同时忽略unchecked和deprecation的警告信息。

@SuppressWarnings(value={"unchecked", "deprecation"})
  等同于@SuppressWarnings("unchecked", "deprecation")                               
   编码时会发现如下变量未被使用的警告提示:
       上述代码编译通过且可以运行
	   但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了
	   这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。

@SuppressWarings注解示例

                           
例1:剔除单类型的警告
@SuppressWarnings("unchecked")
public void addItems(String item){
   @SuppressWarnings("rawtypes")
   List items = new ArrayList();
   items.add(item);
}

例2:剔除多类型的警告
@SuppressWarnings(value={"unchecked", "rawtypes"})
public void addItems(String item){
   List items = new ArrayList();
   items.add(item);
}

例3:剔除所有类型的警告:
@SuppressWarnings("all")
public void addItems(String item){
   List items = new ArrayList();
   items.add(item);
}

@SuppressWarnings注解可用关键字说明

关键字备注
all to suppress all warnings(抑制所有警告)
boxing to suppress warnings relative to boxing/unboxing operations(要抑制与箱/非装箱操作相关的警告)
cast to suppress warnings relative to cast operations(为了抑制与强制转换操作相关的警告)
dep-ann to suppress warnings relative to deprecated annotation(要抑制相对于弃用注释的警告)
deprecation to suppress warnings relative to deprecation(要抑制相对于弃用的警告)
fallthrough to suppress warnings relative to missing breaks in switch statements(在switch语句中,抑制与缺失中断相关的警告)
finally to suppress warnings relative to finally block that don’t return(为了抑制警告,相对于最终阻止不返回的警告)
hiding to suppress warnings relative to locals that hide variable(为了抑制本地隐藏变量的警告)
incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)(为了在switch语句(enum案例)中抑制相对于缺失条目的警告)
nls to suppress warnings relative to non-nls string literals(要抑制相对于非nls字符串字面量的警告)
null to suppress warnings relative to null analysis(为了抑制与null分析相关的警告)
rawtypes to suppress warnings relative to un-specific types when using generics on class params(在类params上使用泛型时,要抑制相对于非特异性类型的警告)
restriction to suppress warnings relative to usage of discouraged or forbidden references(禁止使用警告或禁止引用的警告)
serial to suppress warnings relative to missing serialVersionUID field for a serializable class(为了一个可串行化的类,为了抑制相对于缺失的serialVersionUID字段的警告)
static-access to suppress warnings relative to incorrect static access(o抑制与不正确的静态访问相关的警告)
synthetic-access to suppress warnings relative to unoptimized access from inner classes(相对于内部类的未优化访问,来抑制警告)
unchecked to suppress warnings relative to unchecked operations(相对于不受约束的操作,抑制警告)
unqualified-field-access to suppress warnings relative to field access unqualified(为了抑制与现场访问相关的警告)
unused to suppress warnings relative to unused code(抑制没有使用过代码的警告)
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202306/16877419976897.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者