【Effective Java】条23-24:不要使用原生态类型-消除检测的代码警告

在使用泛型的时候,禁止直接声明为原生态类型。如:

List list = new ArrayList();

而应该直接指定具体的参数类型,如:

List<String> list = new ArrayList();

如果真的不能确定具体的参数类型,那可以使用无限制的通配符类型:

List<?> list = new ArrayList();

主要原因是参数化的泛型会更安全,错误能尽早发现,不会等到运行时才会提示ClassCastException


在编写泛型代码时,编译器可能会提示很多警告信息,针对这些警告信息,尽量逐条将其解决,为了防止运行时抛出异常。

针对无法消除的警告,可以采用@SuppressWarnings("unchecked")来标注使得警告消除。但是此注解标注的范围要尽量小,防止在本该出现警告的地方却没有出现,导致运行时异常。

猜你喜欢

转载自blog.csdn.net/xl890727/article/details/80353952