泛型使用

  • 不要在新代码中使用原生态类型

原生态类型就是简单的“<>”,没有任何参数类型限定,和没有使用泛型一样,之所以存在无非是为了保持前向兼容性,因为没有起到泛型应有的作用,所有不建议使用。

  • 不要忽视非受检警告,并接受它

每一条受检警告都可能抛出类型转换异常,只有在明确知道不会有转换异常的时候,才可以用@SuppressWarnings 注解来消除警告,而且应该尽可能缩小注解作用范围,以免掩盖了重要的警告。

  • 列表优先于数组

列表和泛型的区别有两点,其一是数组是协变得,泛型是不可变的,这就意味着,数组在运行时才会发现错误,泛型在编译时就可以判断错误;第二点是数组是具体化的,因此数组在运行时才会检查他们的元素类型约束,泛型是通过擦除来实现的,只在编译时强化类型信息,在运行时丢弃或者说擦除类型信息。因此,泛型和数组也不能很好的混用,创建泛型数组也是非法的,作为通过数组描述的可变参数和泛型也不应该同时使用。

  • 优先考虑泛型
  • 优先考虑使用泛型方法
  • 利用有限制通配符来提升API灵活性
  • 优先考虑类型安全的异构容器

猜你喜欢

转载自www.cnblogs.com/loveBolin/p/9644135.html