“基本 Annotation”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第4行: | 第4行: | ||
@SuppressWarnings 抑制编译器警告 | @SuppressWarnings 抑制编译器警告 | ||
+ | |||
+ | @SafeVarargs 抑制“堆污染”警告 | ||
+ | |||
+ | === “堆污染”示例 === | ||
+ | <syntaxhighlight lang="java"> | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.List; | ||
+ | |||
+ | public class Test3 { | ||
+ | |||
+ | /** | ||
+ | * @param args | ||
+ | */ | ||
+ | public static void main(String[] args) { | ||
+ | List list = new ArrayList<Integer>(); | ||
+ | |||
+ | /* | ||
+ | * Type safety: The method add(Object) belongs to the raw type List. | ||
+ | * References to generic type List<E> should be parameterized | ||
+ | */ | ||
+ | list.add(20); | ||
+ | |||
+ | //把一个不带泛型的对象赋给一个带泛型的变量 | ||
+ | List<String> ls = list; | ||
+ | |||
+ | //只要访问 ls 里的元素,如下面代码就会引起运行时异常 | ||
+ | System.out.println(ls.get(0)); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight> |
2024年7月10日 (三) 09:46的版本
@Override 限定重写父类方法
@Deprecated 标示已过时
@SuppressWarnings 抑制编译器警告
@SafeVarargs 抑制“堆污染”警告
“堆污染”示例
import java.util.ArrayList;
import java.util.List;
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
List list = new ArrayList<Integer>();
/*
* Type safety: The method add(Object) belongs to the raw type List.
* References to generic type List<E> should be parameterized
*/
list.add(20);
//把一个不带泛型的对象赋给一个带泛型的变量
List<String> ls = list;
//只要访问 ls 里的元素,如下面代码就会引起运行时异常
System.out.println(ls.get(0));
}
}